Задание на разработку приложения(программы):
Необходимо реализовать приложение для учета продаж с помощью C#, WPF, SQL Server
Описание возможностей программы:
- Учёт товаров;
- Добавление товаров;
- Удаление товаров;
- Редактирование.
Использованные технологии:
- C# + WPF;
- SQL Server;
- Material Design.
- NET 5.0
При написании использовалась Visual Studio 2019.
Фрагмент программного кода (окно добавления товара):
using System.Linq; using System.Windows; using Sales_AccountingBL.Interfaces; using Sales_AccountingBL.Models; namespace Sales_AccountingUI { /// <summary> /// Логика взаимодействия для AddProductWindow.xaml /// </summary> public partial class AddProductWindow : Window { /// <summary> /// Список вида занятий /// </summary> private static readonly string[] Categories = { "Смартфоны", "Ппланшеты" }; /// <summary> /// Поле хранит идентификатор нагрузки /// </summary> private int _id; public AddProductWindow() { InitializeComponent(); // Передаем допустимые значения cbCategory.ItemsSource = Categories; // Задаем начальное значение cbCategory.SelectedIndex = 0; } private void BtnSave_Click(object sender, RoutedEventArgs e) { int? sale = null; if (string.IsNullOrEmpty(tbName.Text)) { MessageBox.Show("Поле наименование не может быть пустым", "Проверка"); return; } if (string.IsNullOrEmpty(tbCustomer.Text)) { MessageBox.Show("Поле покупатель не может быть пустым", "Проверка"); return; } if (!int.TryParse(tbOrderDate.Text, out int order)) { MessageBox.Show("Дата заказа должна быть целым числом", "Проверка"); return; } if (!string.IsNullOrEmpty(tbSaleDate.Text)) { int intSale; if (!int.TryParse(tbSaleDate.Text, out intSale)) { MessageBox.Show("Дата продажи должна быть целым числом", "Проверка"); return; } if (intSale < order) { MessageBox.Show("Дата продажи должны быть больше даты заказа", "Проверка"); return; } sale = intSale; } // Создаем объект для передачи данных ProductDto product = new ProductDto() { // Заполняем объект данными Name = tbName.Text, Customer = tbCustomer.Text, OrderDate = order, SaleDate = sale, Category = cbCategory.SelectedItem.ToString() }; // Именно тут запрашиваем реализованную раннее задачу по работе с товарами IProductProcess productProcess = ProcessFactory.GetProductProcess(); // если это новый объект - сохраняем его if (_id == 0) { // Сохраняем товар productProcess.Add(product); } else // иначе обновляем { // копируем обратно идентификатор объекта product.Id = _id; // обновляем productProcess.Update(product); } // и закрываем форму Close(); } private void BtnCancel_Click(object sender, RoutedEventArgs e) { Close(); } public void Load(ProductDto product) { // если объект не существует или его тип не в списке допустимых, выходим if (product == null || !Categories.Contains(product.Category)) { return; } // сохраняем id нагрузки _id = product.Id; // заполняем визуальные компоненты для отображения данных tbName.Text = product.Name; tbCustomer.Text = product.Customer; tbOrderDate.Text = product.OrderDate.ToString(); if (product.SaleDate.HasValue) { tbSaleDate.Text = product.SaleDate.Value.ToString(); } cbCategory.SelectedItem = product.Category; } } }
Содержание архива:
- Исходный проект программы с кодом в Visual Studio.
- файлы базы данных.
admin