示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
 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);
     }
 }
示例#6
0
 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);
     }
 }
示例#7
0
 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);
     }
 }
示例#8
0
 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);
     }
 }
示例#9
0
        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);
            }
        }
示例#10
0
        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);
            }
        }
示例#11
0
        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);
            }
        }
示例#12
0
        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);
            }
        }
示例#13
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);
            }
        }
示例#14
0
        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);
            }
        }
示例#15
0
        /// <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);
            }
        }