private void Button_Click_1(object sender, RoutedEventArgs e) // Кнопка "Добавить доставку к заказу" { if (delivery_type.SelectedItem != null) // Если выбран тип доставки { using (ADOmodel db = new ADOmodel(conString)) { int id_deliv = db.Deliveries.Select(d => d.id_Delivery).Max() + 1; // Создаем id будущей доставки Delivery new_deliv = new Delivery() { id_Delivery = id_deliv, id_Type = devType_id, Cost = devCost }; // Создаем новую доставку db.Deliveries.Add(new_deliv); // Добавляем в БД db.SaveChanges(); // Сохраняем изменения в БД var Order = db.Orders.Where(i => i.id_Order == o_id).FirstOrDefault(); // Считываем данные заказа Order.id_Delivery = id_deliv; // И добавляем ему доставку db.SaveChanges(); // Сохраняем изменения в БД MessageBox.Show("Доставка добавлена!", "Добавление доставки", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } else { MessageBox.Show("Выберите тип доставки!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private void Button_Click(object sender, RoutedEventArgs e) { try { int disc = Convert.ToInt32(discount.Text); int amnt_prs = Convert.ToInt32(amount_purshases.Text); if (disc == 3 && amnt_prs < 50000 || disc == 5 && amnt_prs >= 50000 && amnt_prs < 150000 || disc == 10 && amnt_prs >= 150000) { using (ADOmodel db = new ADOmodel(conString)) { var NewCard = new Loyality_card() { Loyality_discount = disc, Amount_purshases = amnt_prs }; db.Loyality_card.Add(NewCard); db.SaveChanges(); MessageBox.Show("Карта успешно создана!\nid новой карты: " + db.Loyality_card.Max(lc => lc.id_Loyality_card).ToString(), "Создание карты", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } else { MessageBox.Show("Некорректные данные!\nРазмер скидки и сумма покупок должны соответстоввать бизнес-правилам!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); } } catch (Exception) { MessageBox.Show("Корректно заполните поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private void item_btn_Click(object sender, RoutedEventArgs e) { string name = item_Name.Text; string units = item_units.Text; string url = item_photo.Text; string type = item_type.Text; try { int guarantee = Convert.ToInt32(item_guarantee.Text); int price = Convert.ToInt32(item_price.Text); using (ADOmodel db = new ADOmodel(conString)) { var Item = db.Items.Where(i => i.id_Item == id).FirstOrDefault(); if (name != "") { Item.Name = name; } if (units != "") { Item.Untits = units; } if (url != "") { Item.Photo = url; } if (type != "") { Item.id_Type = db.Item_type.Where(it => it.Type_name.Equals(type)).Select(it => it.id_Type).FirstOrDefault(); } if (guarantee > 0) { Item.Guarantee = guarantee; } if (price > 0) { Item.Price = price; } db.SaveChanges(); MessageBox.Show("Данные успешно изменены!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } catch (FormatException) { MessageBox.Show("Корректно заполните поля!\n(Поля Гарантия и Цена должны быть заполнены, либо 0 либо новым значением!)", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
private void Button_Click(object sender, RoutedEventArgs e) { string name = item_Name.Text; string units = item_units.Text; string url = item_photo.Text; string type = item_type.Text; try { int guarantee = Convert.ToInt32(item_guarantee.Text); int price = Convert.ToInt32(item_price.Text); if (name != "" && units != "" && url != "" && price > 0 && type != null) { using (ADOmodel db = new ADOmodel(conString)) { int typeId = db.Item_type.Where(it => it.Type_name.Equals(type)).Select(it => it.id_Type).FirstOrDefault(); if (guarantee == 0) { Item new_item = new Item() { id_Type = typeId, Name = name, Photo = url, Untits = units, Price = price }; db.Items.Add(new_item); } else { Item new_item = new Item() { id_Type = typeId, Name = name, Photo = url, Untits = units, Price = price, Guarantee = guarantee }; db.Items.Add(new_item); } db.SaveChanges(); MessageBox.Show("Товар успешно добавлен!", "Добавление товара", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } else { MessageBox.Show("Корректно заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } catch (FormatException) { MessageBox.Show("Корректно заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
private void Button_Click(object sender, RoutedEventArgs e) { string name = empl_Name.Text; string surname = empl_Surname.Text; string patronymic = empl_Patronymic.Text; var pos = empl_Position.SelectedIndex; var role = empl_Role.SelectedIndex; string log = empl_login.Text; string pas = empl_password.Text; if (name != "" && surname != "" && log != "" && pas != "" && pos != -1 && role != -1) { using (ADOmodel db = new ADOmodel(conString)) { if (patronymic == "") { var NewEmpl = new Employee() { Name = name, Surname = surname, Login = log, Password = pas, id_Position = pos + 1, id_Role = role + 1 }; db.Employees.Add(NewEmpl); } else { var NewEmpl = new Employee() { Name = name, Surname = surname, Patronymic = patronymic, Login = log, Password = pas, id_Position = pos + 1, id_Role = role + 1 }; db.Employees.Add(NewEmpl); } db.SaveChanges(); MessageBox.Show("Сотрудник успешно создан!", "Регистрация нового сотрудника", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } else { MessageBox.Show("Заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private void change_btn_Click(object sender, RoutedEventArgs e) { AdminPage main = this.Owner as AdminPage; string name = empl_Name.Text; string surname = empl_Surname.Text; string patronymic = empl_Patronymic.Text; var pos = empl_Position.SelectedIndex; var role = empl_Role.SelectedIndex; string log = empl_Log.Text; string pas = empl_Password.Text; using (ADOmodel db = new ADOmodel(conString)) { try { var employee = db.Employees.Where(em => em.id_Employee == id).FirstOrDefault(); if (name != "") { employee.Name = name; } if (surname != "") { employee.Surname = surname; } if (patronymic != "") { employee.Patronymic = patronymic; } if (pos != -1) { employee.id_Position = pos + 1; } if (role != -1) { employee.id_Role = role + 1; } if (log != "") { employee.Login = log; } if (pas != "") { employee.Password = pas; } db.SaveChanges(); MessageBox.Show("Данные успешно изменены!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information); if (idCurrentEmpl == id && log != "" || idCurrentEmpl == id && pas != "") { MessageBox.Show("Необходимо произвести вход с помощью новых данных.", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); MainWindow mw = new MainWindow(); mw.Show(); main.Close(); } else { this.Close(); } } catch (System.Data.Entity.Infrastructure.DbUpdateException) { MessageBox.Show("Ошибка. Попробуйте менять логин и пароль по очереди, а не одновременно.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void Button_Click(object sender, RoutedEventArgs e) { string name = Name.Text; string surname = Surname.Text; string patronymic = Patronymic.Text; string phone = Phone.Text; string country = Country.Text; string city = City.Text; string street = Street.Text; string building = Building.Text; string flat = Flat.Text; if (name.Length != 0 && surname.Length != 0 && phone.Length == 11 && country.Length != 0 && city.Length != 0 && street.Length != 0 && building.Length != 0) { using (ADOmodel db = new ADOmodel(conString)) { Client_address new_address = new Client_address() { Country = country, City = city, Street = street, Building = building, Flat = flat }; // Добавление адреса db.Client_address.Add(new_address); db.SaveChanges(); var new_adr_id = db.Client_address.Select(p => p.id_Address).ToList().Last(); Loyality_card new_card = null; Client new_client = null; if (New_card.IsChecked == true) { new_card = new Loyality_card() { Loyality_discount = 3, Amount_purshases = 1 }; // Добавление новой карты db.Loyality_card.Add(new_card); db.SaveChanges(); } var new_card_id = db.Loyality_card.Select(p => p.id_Loyality_card).ToList().Last(); if (new_card != null) // Добавление нового клиента { new_client = new Client() { id_Address = new_adr_id, Name = name, Surname = surname, Patronymic = patronymic, Phone = phone, id_Loyality_card = new_card_id }; } else { new_client = new Client() { id_Address = new_adr_id, Name = name, Surname = surname, Patronymic = patronymic, Phone = phone }; } db.Clients.Add(new_client); db.SaveChanges(); MessageBox.Show("Новый клиент добавлен!", "Добавление", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } else { MessageBox.Show("Корректно заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private void change_btn_Click(object sender, RoutedEventArgs e) { string name = cl_name.Text; string surname = cl_surname.Text; string patronymic = cl_patronymic.Text; string phone = cl_phone.Text; string country = cl_country.Text; string city = cl_city.Text; string street = cl_street.Text; string building = cl_building.Text; string flat = cl_flat.Text; string c_id = cl_cardID.Text; bool canChange = true; using (ADOmodel db = new ADOmodel(conString)) { var client = db.Clients.Where(p => p.id_Client == id).FirstOrDefault(); var client_address = db.Client_address.Where(p => p.id_Address == db.Clients.Where(c => c.id_Client == id).Select(c => c.id_Address).FirstOrDefault()).FirstOrDefault(); if (name != "") { client.Name = name; } if (surname != "") { client.Surname = surname; } if (patronymic != "") { client.Patronymic = patronymic; } if (phone != "" && phone.Length == 11) { client.Phone = phone; } else if (phone != "" && phone.Length != 11) { MessageBox.Show("Некорректный номер телефона!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); canChange = false; } if (country != "") { client_address.Country = country; } if (city != "") { client_address.City = city; } if (street != "") { client_address.Street = street; } if (building != "") { client_address.Building = building; } if (flat != "") { client_address.Flat = flat; } if (c_id != "") { try { int card_id = Convert.ToInt32(c_id); var CardExists = db.Loyality_card.Any(c => c.id_Loyality_card == card_id); if (CardExists) { client.id_Loyality_card = card_id; } else { MessageBox.Show("Карты с таким идентификатором не существует!\nНеобходимо сначала создать карту.", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); canChange = false; } } catch (Exception) { MessageBox.Show("Некорректный id карты!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); canChange = false; } } if (canChange) { db.SaveChanges(); MessageBox.Show("Данные успешно изменены!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } }
private void createOrder_btn_Click(object sender, RoutedEventArgs e) // Кнопка оформления заказа { bool canSend = true; // Переменная для контроля корректности заполнения данных if (empl_position.SelectedItem == null || empl_fullName.SelectedItem == null) // Проверки на правильную заполненность полей { MessageBox.Show("Выберите сотрудника!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning); canSend = false; } if (new_order_list.Count() == 0 || list_for_print.Count() == 0) { MessageBox.Show("Нельзя оформить пустой заказ!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning); canSend = false; } if (new_order_list.Count() != list_for_print.Count()) { MessageBox.Show("Ошибка в формировании списков заказа!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning); canSend = false; } if (item_certificate.Text == "") { MessageBox.Show("Поле 'Номинал' блока 'Сертификат' должно содержать значение!\n(0, 5000, 30000, 50000)", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning); canSend = false; } if (delivery_cb.IsChecked == true && delivery_type.IsEnabled == true && delivery_select_btn.IsEnabled == true) { MessageBox.Show("Подтвердите тип доставки!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning); canSend = false; } if (canSend) // Если все заполнено корректно, то начинаем отправлять данные в БД { using (ADOmodel db = new ADOmodel(conString)) { int id_cert = 0; // Идентификатор нового сертификата int id_deliv = 0; // Идентификатор новой доставки if (Convert.ToInt32(item_certificate.Text) != 0) // Если был применен сертификат, то создаем запись о сертификате { id_cert = db.Certificates.Select(c => c.id_Certificate).Max() + 1; int certificateValue = Convert.ToInt32(item_certificate.Text); Certificate new_certificate = new Certificate() { id_Certificate = id_cert, Value = certificateValue }; db.Certificates.Add(new_certificate); db.SaveChanges(); } if (delivery_cb.IsChecked == true) // Если была выбрана доставка, то создаем запись по доставке { id_deliv = db.Deliveries.Select(d => d.id_Delivery).Max() + 1; Delivery new_delivery = new Delivery() { id_Delivery = id_deliv, id_Type = devType_id, Cost = devCost }; db.Deliveries.Add(new_delivery); db.SaveChanges(); } if (delivery_cb.IsChecked == false && devCost > 0 && delivery_select_btn.IsEnabled == false) // Если доставка была сначала выбрана и применена, но потом чекбокс доставки был снят { total_cost -= devCost; // Убираем из стоимости заказа доставку costWithDiscount = total_cost - (total_cost / 100 * discount); // И пересчитываем стоимость заказа с учетом КЛ } Orders new_order; if (id_cert != 0 && id_deliv != 0) // Формирование заказа с сертификатом и доставкой { new_order = new Orders() { id_Order = or_id, id_Client = cl_id, id_Employee = em_id, Date = DateTime.Now, Order_cost = (decimal)costWithDiscount, Discount = discount, id_Certificate = id_cert, id_Delivery = id_deliv }; db.Orders.Add(new_order); } else if (id_cert == 0 && id_deliv != 0) // Формирование заказа без сертификата, но с доставкой { new_order = new Orders() { id_Order = or_id, id_Client = cl_id, id_Employee = em_id, Date = DateTime.Now, Order_cost = (decimal)costWithDiscount, Discount = discount, id_Delivery = id_deliv }; db.Orders.Add(new_order); } else if (id_cert != 0 && id_deliv == 0) // Формирование заказа с сертификатом, но без доставки { new_order = new Orders() { id_Order = or_id, id_Client = cl_id, id_Employee = em_id, Date = DateTime.Now, Order_cost = (decimal)costWithDiscount, Discount = discount, id_Certificate = id_cert, }; db.Orders.Add(new_order); } else // Формирование заказа без сертификата и без доставки { new_order = new Orders() { id_Order = or_id, id_Client = cl_id, id_Employee = em_id, Date = DateTime.Now, Order_cost = (decimal)costWithDiscount, Discount = discount, }; db.Orders.Add(new_order); } foreach (var item in new_order_list) // Добавление товаров заказа в таблицу Item_list { int il_id = item.id_Item; int il_quant = item.Quantity; Item_list il = new Item_list() { id_Order = or_id, id_Item = il_id, Quantity = il_quant }; db.Item_list.Add(il); } db.SaveChanges(); MessageBox.Show("Заказ успешно добавлен!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } }
private void Button_Click(object sender, RoutedEventArgs e) { try { int id = Convert.ToInt32(id_delete.Text); if (id > 0) { using (ADOmodel db = new ADOmodel(conString)) { if (mode == "client") // Если форма удаления была вызвана из вкладки "Клиент" { var ClientExists = db.Clients.Any(p => p.id_Client == id); if (ClientExists) { var Client = db.Clients.Where(p => p.id_Client == id).FirstOrDefault(); var Client_adr_id = db.Client_address.Where(p => p.id_Address == db.Clients.Where(c => c.id_Client == id).Select(c => c.id_Address).FirstOrDefault()).FirstOrDefault(); var Client_lc = db.Loyality_card.Where(lc => lc.id_Loyality_card == db.Clients.Where(p => p.id_Client == id).Select(p => p.id_Loyality_card).FirstOrDefault()).FirstOrDefault(); db.Clients.Remove(Client); db.Client_address.Remove(Client_adr_id); if (Client_lc != null) { db.Loyality_card.Remove(Client_lc); } db.SaveChanges(); MessageBox.Show("Клиент удален!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } else { MessageBox.Show("Клиент с таким id не найден!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); } } else if (mode == "employee") // Если форма удаления была вызвана из вкладки "Сотрудники" { var EmployeeExists = db.Employees.Any(em => em.id_Employee == id); if (EmployeeExists) { var Employee = db.Employees.Where(em => em.id_Employee == id).FirstOrDefault(); db.Employees.Remove(Employee); db.SaveChanges(); MessageBox.Show("Сотрудник удален!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } else { MessageBox.Show("Сотрудник с таким id не найден!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); } } else if (mode == "item") // Если форма удаления была вызвана из вкладки "Товары" { var ItemExists = db.Items.Any(i => i.id_Item == id); if (ItemExists) { var Item = db.Items.Where(i => i.id_Item == id).FirstOrDefault(); db.Items.Remove(Item); db.SaveChanges(); MessageBox.Show("Товар удален!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } else { MessageBox.Show("Товар с таким id не найден!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); } } else if (mode == "order") // Если форма удаления была вызвана из вкладки "Заказы" { var OrderExists = db.Orders.Any(i => i.id_Order == id); // Проверка существования заказа с указанным id if (OrderExists) // Если такой существует { var Order = db.Orders.Where(i => i.id_Order == id).FirstOrDefault(); // Считываем данные заказа var Delivery = db.Deliveries.Where(d => d.id_Delivery == Order.id_Delivery).FirstOrDefault(); // И доставки if (Order.id_Certificate != null) // Проверяем был ли применен сертификат, если да, то удаляем его { var cert_id = db.Certificates.Where(c => c.id_Certificate == Order.id_Certificate).FirstOrDefault(); db.Certificates.Remove(cert_id); } db.Orders.Remove(Order); // Удаляем заказ if (Delivery != null) { db.Deliveries.Remove(Delivery); // Если была доставка, то и её тоже } var items = db.Item_list.Where(il => il.id_Order == Order.id_Order).ToList(); // Находим все товары из заказа for (int i = 0; i < items.Count(); i++) // И удаляем их их таблицы учета Item_list { db.Item_list.Remove(items[i]); } db.SaveChanges(); MessageBox.Show("Заказ удален!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } else { MessageBox.Show("Заказ с таким id не найден!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); } } else if (mode == "delivery") // Если форма удаления была вызвана из блока "Доставки" { var DeliveryExists = db.Deliveries.Any(d => d.id_Delivery == id); // Проверяем существование доставки с указанным id if (DeliveryExists) // Если такая существует { var Delivery = db.Deliveries.Where(d => d.id_Delivery == id).FirstOrDefault(); // выбираем её и заказ, которому она принадлежит var Order = db.Orders.Where(o => o.id_Delivery == id).FirstOrDefault(); db.Deliveries.Remove(Delivery); // Удаляем доставку Order.id_Delivery = null; // Убираем ее из заказа db.SaveChanges(); // Сохраняем изменения в БД MessageBox.Show("Доставки удалена!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } else { MessageBox.Show("Доставки с таким id не существует!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Warning); } } } } else { MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); } } catch (Exception) { MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning); } }