Характеристика предприятия 1 правила техники безопасности


Приложение Г. Код логики окна добавления данных


Download 1.81 Mb.
bet12/14
Sana08.03.2023
Hajmi1.81 Mb.
#1250233
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
1663227409051 Отчет

Приложение Г. Код логики окна добавления данных





Листинг
using Autoshop.BL.Interfaces;
using Autoshop.BL.Models;
using System.Linq;
using System.Windows;

namespace Autoshop.UI


{
///
/// Логика взаимодействия для AddProductWindow.xaml
///

public partial class AddProductWindow : Window
{
///
/// Список вида товаров
///

private static readonly string[] Categories = { "Свечи", "Колодки", "Фильтры", "Диски", "Шины" };
///
/// Поле хранит идентификатор товара
///

private int _id;
public AddProductWindow()
{
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? 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();
}

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;
}
}
}




Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling