public static void SetDishes(List <Dish> dishes, List <int> li) { try { using (KindergartenContext db = new KindergartenContext()) { var dishDict = dishes.ToDictionary(x => x.Id); li.ForEach(x => { if (!dishDict.ContainsKey(x)) { db.Entry(db.Users.Where(y => y.Id == x).FirstOrDefault()).State = EntityState.Deleted; } }); dishes.ForEach(x => { db.Entry(x).State = x.Id == 0 ? EntityState.Added : EntityState.Modified; }); db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetEmployee(List <Employee> data, List <int> ids) { try { using (KindergartenContext db = new KindergartenContext()) { var dates = data.Select(x => x.Id).ToList(); var nc = db.Employees.Where(x => dates.Contains(x.Id)).ToList(); ids = ids.Except(dates).ToList(); var deletedObjects = db.Employees.Where(x => ids.Contains(x.Id)).ToList(); for (int i = 0; i < deletedObjects.Count(); i++) { db.Employees.Remove(deletedObjects[i]); } for (int i = 0; i < data.Count(); i++) { bool isNew = true; for (int j = 0; j < nc.Count(); j++) { if (nc[j].Id == data[i].Id) { nc[j].Name = data[i].Name; nc[j].Lastname = data[i].Lastname; nc[j].Patronymic = data[i].Patronymic; nc[j].Phone = data[i].Phone; nc[j].Position = data[i].Position; isNew = false; } } if (isNew) { var newEmployees = new Employee() { Name = data[i].Name, Lastname = data[i].Lastname, Patronymic = data[i].Patronymic, Phone = data[i].Phone, Position = data[i].Position }; db.Employees.Add(newEmployees); } } db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetSupplier(List <Supplier> supplier, List <int> li) { try { using (KindergartenContext db = new KindergartenContext()) { var dates = supplier.Select(x => x.Id).ToList(); var u = db.Suppliers.Where(x => dates.Contains(x.Id)).ToList(); li = li.Except(dates).ToList(); var deletedObjects = db.Suppliers.Where(x => li.Contains(x.Id)).ToList(); for (int i = 0; i < deletedObjects.Count(); i++) { db.Suppliers.Remove(deletedObjects[i]); } for (int i = 0; i < supplier.Count(); i++) { bool isNew = true; for (int j = 0; j < u.Count(); j++) { if (u[j].Id == supplier[i].Id) { u[j].Name = supplier[i].Name; u[j].Phone = supplier[i].Phone; isNew = false; } } if (isNew) { var newSupplier = new Supplier() { Name = supplier[i].Name, Phone = supplier[i].Phone }; db.Suppliers.Add(newSupplier); } } db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetProducts(List <Product> products, List <int> ids) { try { using (KindergartenContext db = new KindergartenContext()) { var dates = products.Select(x => x.Id).ToList(); var nc = db.Products.Where(x => dates.Contains(x.Id)).ToList(); ids = ids.Except(dates).ToList(); var deletedObjects = db.Products.Where(x => ids.Contains(x.Id)).ToList(); for (int i = 0; i < deletedObjects.Count(); i++) { db.Products.Remove(deletedObjects[i]); } for (int i = 0; i < products.Count(); i++) { bool isNew = true; for (int j = 0; j < nc.Count(); j++) { if (nc[j].Id == products[i].Id) { nc[j].Name = products[i].Name; isNew = false; } } if (isNew) { var newProducts = new Product() { Name = products[i].Name }; db.Products.Add(newProducts); } } db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetParty(List <Party> parties) { try { using (KindergartenContext db = new KindergartenContext()) { db.Parties.AddRange(parties); db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetDishItemFacts(ICollection <DishItemFact> dishItemFacts) { try { using (KindergartenContext db = new KindergartenContext()) { db.DishItemFacts.AddRange(dishItemFacts); db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetMenuFact(MenuFact menu) { try { using (KindergartenContext db = new KindergartenContext()) { db.MenuFacts.Add(menu); db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void DeletedInvoice(int id) { try { using (KindergartenContext db = new KindergartenContext()) { var i = db.Invoices.Where(x => x.ID == id).ToList(); i.RemoveAt(0); db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetDocumentExpenseForNutrition(Document document) { try { using (KindergartenContext db = new KindergartenContext()) { db.Documents.Add(document); db.SaveChanges(); PartyModel.DecreaseParty(document.DocumentDatas); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetInvoice(Invoice invoice, List <Party> parties) { try { using (KindergartenContext db = new KindergartenContext()) { foreach (var item in parties) { if (item.ProductId == 0) { parties.Remove(item); } } if (parties.Count() > 0) { db.Entry(invoice).State = invoice.ID == 0 ? EntityState.Added : EntityState.Modified; db.SaveChanges(); var dt = db.DocumentTypes.Where(x => x.Name == "Приход от поставщика").FirstOrDefault(); var document = new Document() { Date = DateTime.Now, InvoiceId = db.Invoices.Local.First().ID, DocumentTypeId = dt.Id }; DocumentModel.SetDocumentFromInvoice(document, parties); MessageBox.Show("Накладная добавлена в систему!", "Успех", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Накладная не содержит товары!", "Пустая накладная", MessageBoxButton.OK, MessageBoxImage.Information); } } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetDocumentFromInvoice(Document document, List <Party> parties) { try { using (KindergartenContext db = new KindergartenContext()) { db.Entry(document).State = document.Id == 0 ? EntityState.Added : EntityState.Modified; db.SaveChanges(); parties.ForEach(x => { x.DocumentId = db.Documents.Local.First().Id; }); PartyModel.SetPartyFromInvoice(parties); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static int SetOneDish(Dish dish, int MenuId) { try { using (KindergartenContext db = new KindergartenContext()) { if (dish.Id == 0) { dish.MenuId = MenuId; db.Dishes.Add(dish); db.SaveChanges(); } return(dish.Id); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); return(0); } }
public static void SetDocumentData(List <DocumentData> documentData) { try { using (KindergartenContext db = new KindergartenContext()) { foreach (var item in documentData) { if (item.ProductId == 0 || item.Quantity == 0) { documentData.Remove(item); } } db.DocumentData.AddRange(documentData); db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void SetChildrenData(List <NumberChildren> data, List <DateTime> gd) { try { using (KindergartenContext db = new KindergartenContext()) { var dates = data.Select(x => x.Date).ToList(); var nc = db.NumberChildrens.Where(x => dates.Contains(x.Date)).ToList(); List <int> ids = new List <int>(); for (int i = 0; i < gd.Count(); i++) { for (int j = 0; j < data.Count(); j++) { if (gd[i] == data[j].Date) { ids.Add(i); } } } ids.Distinct(); ids.Reverse(); for (int i = 0; i < ids.Count(); i++) { gd.RemoveAt(ids[i]); } var deletedObjects = db.NumberChildrens.Where(x => gd.Contains(x.Date)).ToList(); for (int i = 0; i < deletedObjects.Count(); i++) { db.NumberChildrens.Remove(deletedObjects[i]); } for (int i = 0; i < data.Count(); i++) { bool isNew = true; for (int j = 0; j < nc.Count(); j++) { if (nc[j].Date == data[i].Date) { nc[j].QuantityNursery = data[i].QuantityNursery; nc[j].QuantityYard = data[i].QuantityYard; isNew = false; } } if (isNew) { var newNumberChildrens = new NumberChildren() { Date = data[i].Date, QuantityNursery = data[i].QuantityNursery, QuantityYard = data[i].QuantityYard }; db.NumberChildrens.Add(newNumberChildrens); } } db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Метод добавления пользователей в БД /// </summary> public static void SetUser(List <User> users, List <int> li) { try { using (KindergartenContext db = new KindergartenContext()) { var usersDict = users.ToDictionary(x => x.Id); li.ForEach(x => { if (!usersDict.ContainsKey(x)) { db.Entry(db.Users.Where(y => y.Id == x).FirstOrDefault()).State = EntityState.Deleted; } }); users.ForEach(x => { db.Entry(x).State = x.Id == 0 ? EntityState.Added : EntityState.Modified; }); #region OldCodeForHistory /*var dates = users.Select(x => x.Id).ToList(); * var u = db.Users.Where(x => dates.Contains(x.Id)).Include(x => x.Employee).ToList(); * * li = li.Except(dates).ToList(); * var deletedObjects = db.Users.Where(x => li.Contains(x.Id)).ToList(); * * for (int i = 0; i < deletedObjects.Count(); i++) * { * db.Users.Remove(deletedObjects[i]); * } * * for (int i = 0; i < users.Count(); i++) * { * bool isNew = true; * * for (int j = 0; j < u.Count(); j++) * { * if (u[j].Id == users[i].Id) * { * u[j].Login = users[i].Login; * u[j].Password = users[i].Password; * u[j].LevelAccess = users[i].LevelAccess; * u[j].EmployeeId = users[i].EmployeeId; * * isNew = false; * } * } * * if (isNew) * { * var newUser = new User() * { * Login = users[i].Login, * Password = users[i].Password, * LevelAccess = users[i].LevelAccess, * EmployeeId = users[i].EmployeeId * }; * * db.Users.Add(newUser); * } * }*/ #endregion //OldCodeForHistory db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка! " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }