private void DeleteItemButton_Click(object sender, RoutedEventArgs e) { using (db = new DatabaseEntities()) { Employees selectedEmployee = EmployeesDataGrid.SelectedItem as Employees; var EmployeeItem = db.Employees.Where(x => x.Id == selectedEmployee.Id).FirstOrDefault(); StaffItems deleteItem = new StaffItems(); var staffDeleteItem = db.StaffItems.Where(x => x.FK_ResponsibleEmployee == selectedEmployee.Name); foreach (var item in staffDeleteItem) { if (item.FK_ResponsibleEmployee == EmployeeItem.Name) { item.FK_ResponsibleEmployee = null; } } db.Employees.Remove(EmployeeItem); db.Entry(EmployeeItem).State = EntityState.Deleted; db.SaveChanges(); FillDataGrid(); } }
private void DeleteItemButton_Click(object sender, RoutedEventArgs e) { using (db = new DatabaseEntities()) { Categories selectedItem = CategoriesDataGrid.SelectedItem as Categories; var deletedCategory = db.Categories.Where(x => x.Id == selectedItem.Id).FirstOrDefault(); StaffItems deleteItem = new StaffItems(); var staffDeleteItem = db.StaffItems.Where(x => x.FK_Category == selectedItem.Name); foreach (var item in staffDeleteItem) { if (item.FK_Category == deletedCategory.Name) { item.FK_Category = null; } } db.Categories.Remove(deletedCategory); db.Entry(deletedCategory).State = EntityState.Deleted; db.SaveChanges(); FillDataGrid(); } }
//QR-Code private void GetQRCode(object sender, RoutedEventArgs e) { if (MainDataGrid.SelectedCells.Count == 9) { try { using (db = new DatabaseEntities()) { StaffItems rowView = MainDataGrid.SelectedItem as StaffItems; //id выделенной строки StaffItems ItemForWhomGeneratedQR = new StaffItems(); ItemForWhomGeneratedQR = db.StaffItems.Where(x => x.Id == rowView.Id).FirstOrDefault(); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode($" №: {ItemForWhomGeneratedQR.Id} | Наименование: {ItemForWhomGeneratedQR.ItemName} | Дата Привоза: {ItemForWhomGeneratedQR.ArrivalData}", QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); System.Drawing.Bitmap qrCodeImage = qrCode.GetGraphic(150); using (MemoryStream memory = new MemoryStream()) { qrCodeImage.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp); memory.Position = 0; SaveFileDialog fldlg = new SaveFileDialog(); fldlg.InitialDirectory = Environment.SpecialFolder.MyPictures.ToString(); fldlg.Filter = "Image File (*.jpg;*.bmp;*.gif)|*.jpg;*.bmp;*.gif"; fldlg.FileName = ItemForWhomGeneratedQR.ItemName; fldlg.ShowDialog(); { string imagePath = fldlg.FileName; if (imagePath != "") { System.Drawing.Image img = System.Drawing.Image.FromStream(memory); img.Save(imagePath, System.Drawing.Imaging.ImageFormat.Png); } } } } } catch (Exception exteption) { MessageBox.Show($"Информация об ошибке: {exteption.Message}", "Произошла ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } } if (MainDataGrid.SelectedCells.Count < 9) { MessageBox.Show($"Вы не выделили ни одного элемента. Нажмите на элемент и попробуйте снова.", "Выделите элемент", MessageBoxButton.OK, MessageBoxImage.Information); } }
private void DeleteItemButton_Click(object sender, RoutedEventArgs e) { using (db = new DatabaseEntities()) { StaffItems selectedItem = MainDataGrid.SelectedItem as StaffItems; var item = db.StaffItems.Where(x => x.Id == selectedItem.Id).FirstOrDefault(); db.StaffItems.Remove(item); db.Entry(item).State = EntityState.Deleted; db.SaveChanges(); FillDataGrid(); } }
private void AddNewItemsButton_Click(object sender, RoutedEventArgs e) { if (ButtonAdd.IsEnabled == true) { using (db = new DatabaseEntities()) { StaffItems AddItem = new StaffItems(); //Название AddItem.ItemName = textBoxStaffItemsName.Text.ToString(); //Кол-во bool ammountIsParsed = int.TryParse(textBoxItemsAmmount.Text, out int _ammount); if (!ammountIsParsed) { AddItem.Ammount = null; } else { AddItem.Ammount = _ammount; } //Цена bool priceIsParsed = int.TryParse(textBoxItemsPrice.Text, out int _price); if (!priceIsParsed) { AddItem.Price = null; } else { AddItem.Price = _price; } //Дата привоза AddItem.ArrivalData = textBoxItemsArrivalData.Text; //Период хранения (число) bool lifeTimeIsParsed = int.TryParse(textBoxItemsPeriodOfStorage.Text, out int _lifeTime); if (!lifeTimeIsParsed) { AddItem.PeriodOfStorage = null; } else { AddItem.PeriodOfStorage = _lifeTime; } //Категория if (ComboBoxItemsCategory.Text != "") { Categories category = db.Categories.Where(x => x.Name == ComboBoxItemsCategory.Text).FirstOrDefault(); if (category != null) { AddItem.FK_Category = category.Name; } } else { AddItem.FK_Category = null; } //Обновление срока службы (дата списания) if (textBoxItemsArrivalData.Text != "") { if (textBoxItemsPeriodOfStorage.Text != "") { DateTime buyDateFromTextBox = Convert.ToDateTime(textBoxItemsArrivalData.Text); AddItem.OffData = buyDateFromTextBox.AddMonths(_lifeTime).ToString("dd.MM.yyyy"); } } else { AddItem.OffData = null; } //Ответственный сотрудник if (ComboBoxItemsResponsibleEmployee.Text != "") { Employees employee = db.Employees.Where(x => x.Name == ComboBoxItemsResponsibleEmployee.Text).FirstOrDefault(); if (employee != null) { AddItem.FK_ResponsibleEmployee = employee.Name; } } else { AddItem.FK_ResponsibleEmployee = null; } db.Entry(AddItem).State = EntityState.Added; db.SaveChanges(); Close(); } } }
public void UpdateAndSaveChanges(string WhatSave) { try { using (db = new DatabaseEntities()) { //Логика обновления ВСЁ ИМУЩЕСТВО if (WhatSave == "GoodsInfo") { if (MainDataGrid.SelectedCells.Count == 9) { //выделеная строка StaffItems rowView = MainDataGrid.SelectedItem as StaffItems; StaffItems updatedStaffItem = new StaffItems(); //поиск обновляемого элемента в контексте по ID (Primary key) updatedStaffItem = db.StaffItems.Where(x => x.Id == rowView.Id).FirstOrDefault(); //Название updatedStaffItem.ItemName = textBoxStaffItemsName.Text.ToString(); //Кол-во bool ammountIsParsed = int.TryParse(textBoxItemsAmmount.Text, out int _ammount); if (!ammountIsParsed) { updatedStaffItem.Ammount = null; } else { updatedStaffItem.Ammount = _ammount; } //Цена bool priceIsParsed = int.TryParse(textBoxItemsPrice.Text, out int _price); if (!priceIsParsed) { updatedStaffItem.Price = null; } else { updatedStaffItem.Price = _price; } //Дата покупки updatedStaffItem.ArrivalData = textBoxItemsArrivalData.Text; //Срок службы (число) bool lifeTimeIsParsed = int.TryParse(textBoxItemsPeriodOfStorage.Text, out int _lifeTime); if (!lifeTimeIsParsed) { updatedStaffItem.PeriodOfStorage = null; } else { updatedStaffItem.PeriodOfStorage = _lifeTime; } //Категория if (comboBoxItemsCategories.Text != "") { Categories category = db.Categories.Where(x => x.Name == comboBoxItemsCategories.Text).FirstOrDefault(); if (category != null) { updatedStaffItem.FK_Category = category.Name; } } else { updatedStaffItem.FK_Category = null; } //Обновление срока службы (дата списания) if (textBoxItemsArrivalData.Text != "") { if (textBoxItemsPeriodOfStorage.Text != "") { DateTime buyDateFromTextBox = Convert.ToDateTime(textBoxItemsArrivalData.Text); updatedStaffItem.OffData = buyDateFromTextBox.AddMonths(_lifeTime).ToString("dd.MM.yyyy"); } } else { updatedStaffItem.OffData = null; } //Ответственный сотрудник if (comboBoxItrmsResponsibleHuman.Text != "") { Employees employee = db.Employees.Where(x => x.Name == comboBoxItrmsResponsibleHuman.Text).FirstOrDefault(); if (employee != null) { updatedStaffItem.FK_ResponsibleEmployee = employee.Name; } } else { updatedStaffItem.FK_ResponsibleEmployee = null; } db.Entry(updatedStaffItem).State = EntityState.Modified; db.SaveChanges(); FillDataGrid(); } } } } catch (Exception exteption) { MessageBox.Show($"Информация об ошибке: {exteption.Message}", "Произошла ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } }