private void BtnBuyProduct_Click(object sender, RoutedEventArgs e)
 {
     if (TableProductOnStorage.HasItems)
     {
         Coming coming = new Coming();
         coming.IDСounteragent = IDCounteragent;
         coming.DateComing     = DateTime.Now;
         db.Coming.Add(coming);
         db.SaveChanges();
         int MaxComing = db.Coming.OrderByDescending(x => x.IDComing).FirstOrDefault().IDComing;
         foreach (ContainerItem item in TableProductOnStorage.Items)
         {
             ProductComing productComing = new ProductComing {
                 IDComing = MaxComing, IDProduct = item.Id, Price = Convert.ToDouble(item.Price), Quantity = Convert.ToInt32(item.Quantity)
             };
             db.ProductComing.Add(productComing);
             db.SaveChanges();
         }
         foreach (ContainerItem item in TableProductOnStorage.Items)
         {
             if (db.ProductOnStorage.Where(p => p.IdProduct == item.Id).FirstOrDefault() != null)
             {
                 double NewPrice          = Convert.ToDouble(item.Price);
                 int    NewQuantity       = Convert.ToInt32(item.Quantity);
                 double PriceInStorage    = db.ProductOnStorage.Where(p => p.IdProduct == item.Id).FirstOrDefault().Price;
                 int    QuantityInStorage = db.ProductOnStorage.Where(p => p.IdProduct == item.Id).FirstOrDefault().Quantity;
                 var    Product           = db.ProductOnStorage.Where(p => p.IdProduct == item.Id).FirstOrDefault();
                 Product.Price    = Math.Round((PriceInStorage * QuantityInStorage + NewPrice * NewQuantity) / (NewQuantity + QuantityInStorage), 2);
                 Product.Quantity = NewQuantity + QuantityInStorage;
                 db.SaveChanges();
             }
             else
             {
                 ProductOnStorage productOnStorage = new ProductOnStorage {
                     IdProduct = item.Id, Quantity = Convert.ToInt32(item.Quantity), Price = Convert.ToDouble(item.Price)
                 };
                 db.ProductOnStorage.Add(productOnStorage);
                 db.SaveChanges();
             }
         }
         OpenClass.RefreshTable.Load();
         MessageBox.Show("Товар успешно закуплен!");
         this.Close();
     }
     else
     {
         MessageBox.Show("Вы не выбрали ни один товар!");
     }
 }
 private void BtnSellProduct_Click(object sender, RoutedEventArgs e)
 {
     if (TableProductOnStorage.HasItems)
     {
         Purchase purchase = new Purchase();
         purchase.IDCounteragent = IDCounteragent;
         purchase.DatePurchase   = DateTime.Now;
         db.Purchase.Add(purchase);
         db.SaveChanges();
         int MaxPurchase = db.Purchase.OrderByDescending(x => x.IDPurchase).FirstOrDefault().IDPurchase;
         foreach (ContainerItem item in TableProductOnStorage.Items)
         {
             ProductPurchase productPurchase = new ProductPurchase {
                 IDPurchase = MaxPurchase, IDProduct = item.Id, Price = Convert.ToDecimal(item.Price), Quantity = Convert.ToInt32(item.Quantity)
             };
             db.ProductPurchase.Add(productPurchase);
             db.SaveChanges();
         }
         foreach (ContainerItem item in TableProductOnStorage.Items)
         {
             int QuantityInTable   = item.Quantity;
             int QuantityInStorage = db.ProductOnStorage.Where(p => p.IdProduct == item.Id).FirstOrDefault().Quantity;
             int NewQuantity       = QuantityInStorage - QuantityInTable;
             if (NewQuantity != 0)
             {
                 ProductOnStorage product = db.ProductOnStorage.Where(p => p.IdProduct == item.Id).FirstOrDefault();
                 product.Quantity = NewQuantity;
                 db.SaveChanges();
             }
             else
             {
                 ProductOnStorage product = db.ProductOnStorage.Where(p => p.IdProduct == item.Id).FirstOrDefault();
                 db.ProductOnStorage.Remove(product);
                 db.SaveChanges();
             }
         }
         OpenClass.RefreshTable.Load();
         MessageBox.Show("Товар успешно продан!");
         this.Close();
     }
     else
     {
         MessageBox.Show("Вы не выбрали ни один товар!");
     }
 }