Задание
Разработка приложения для учета налогоплательщиков на языке C# с испоьзованием баз данных SQL Server и SQLite
Функционал программы
- регистрация пользователей
- авторизация пользователей
- кабинет пользователей
- добавление данных
- изменение данных
- удаление данных
Фрагмент программного кода
using AccountingTaxpayers.BL.Interfaces; using AccountingTaxpayers.BL.Models; using System.Linq; using System.Windows; namespace AccountingTaxpayers.UI { /// <summary> /// Логика взаимодействия для AddTaxpayersWindow.xaml /// </summary> public partial class AddTaxpayersWindow : Window { /// <summary> /// Список допустимых категорий /// </summary> private static readonly string[] Categories = { "Юридические лица", "Физические лица" }; /// <summary> /// Поле хранит идентификатор плательщика /// </summary> private int _id; public AddTaxpayersWindow() { InitializeComponent(); // Передаем допустимые значения cbCategory.ItemsSource = Categories; // Задаем начальное значение cbCategory.SelectedIndex = 0; } private void BtnCancel_Click(object sender, RoutedEventArgs e) { Close(); } private void BtnSave_Click(object sender, RoutedEventArgs e) { int? deregistration = null; if (string.IsNullOrEmpty(tbTaxpayerName.Text)) { MessageBox.Show("Поле Плательщик не должно быть пустым", "Проверка"); return; } if (!int.TryParse(tbDateRegistration.Text, out int registration )) { MessageBox.Show("Дата постановки на учет должна быть целым числом", "Проверка"); return; } if (!string.IsNullOrEmpty(tbDateDeregistration.Text)) { if (!int.TryParse(tbDateDeregistration.Text, out int intDeregistration)) { MessageBox.Show("Дата снятия с учета должна быть целым числом", "Проверка"); return; } if (intDeregistration < registration) { MessageBox.Show("Дата снятия с учета должна быть больше даты постановки на учет", "Проверка"); return; } deregistration = intDeregistration; } // Создаем объект для передачи данных TaxpayerDto taxpayer = new TaxpayerDto { // Заполняем объект данными TaxpayerName = tbTaxpayerName.Text, DateRegistration = registration, DateDeregistration = deregistration, Category = cbCategory.SelectedItem.ToString() }; // Именно тут запрашиваем реализованную раннее задачу по работе с плательщиками ITaxpayerProcess taxpayerProcess = ProcessFactory.GetTaxpayerProcess(); // если это новый объект - сохраняем его if (_id == 0) { // Сохраняем плательщика taxpayerProcess.Add(taxpayer); } else // иначе обновляем { // копируем обратно идентификатор объекта taxpayer.Id = _id; taxpayerProcess.Update(taxpayer); } // и закрываем форму Close(); } public void Load(TaxpayerDto taxpayer) { // если объект не существует, или его категория не в списке допустимых, выходим if (taxpayer == null || !Categories.Contains(taxpayer.Category)) return; // сохраняем id плательщика _id = taxpayer.Id; // заполняем визуальные компоненты для отображения данных tbTaxpayerName.Text = taxpayer.TaxpayerName; tbDateRegistration.Text = taxpayer.DateRegistration.ToString(); if (taxpayer.DateDeregistration.HasValue) tbDateDeregistration.Text = taxpayer.DateDeregistration.Value.ToString(); cbCategory.SelectedItem = taxpayer.Category; } } }
Скриншот архива с проектом
Пояснения по запуску программы
Запустить Visual Studio 2022, запустить проект. В архиве есть инструкция по подключению БД.
admin