public void CreateOrderDetail(OrderDetail od, int oId)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.OrderDetails.Add(od);
         ctx.SaveChanges();
         Order order = ctx.Orders.Where(o => o.OrderID == oId).FirstOrDefault();
         order.TotalCost     = ctx.OrderDetails.Where(x => x.OrderID == oId && x.DeleteFlag != true).Sum(x => x.Price);
         order.TotalQuantity = ctx.OrderDetails.Where(x => x.OrderID == oId && x.DeleteFlag != true).Sum(x => x.Quantity);
         ctx.SaveChanges();
     }
 }
 public void DeleteOrderDetail(int odId)
 {
     using (var ctx = new BirovAmContext())
     {
         var od = ctx.OrderDetails.Where(d => d.OrderDetailID == odId).FirstOrDefault();
         od.DeleteFlag = true;
         ProductsSize ps = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == od.SizeID).FirstOrDefault();
         ps.Stock += od.Quantity.Value;
         ctx.SaveChanges();
         od.Order.TotalCost     = ctx.OrderDetails.Where(x => x.OrderID == od.Order.OrderID && x.DeleteFlag != true).Sum(x => x.Price);
         od.Order.TotalQuantity = ctx.OrderDetails.Where(x => x.OrderID == od.Order.OrderID && x.DeleteFlag != true).Sum(x => x.Quantity);
         ctx.SaveChanges();
     }
 }
 public void AddQuantityToOrderDetail(int quantity, int orderDetailId, int orderId)
 {
     using (var ctx = new BirovAmContext())
     {
         OrderDetail od = ctx.OrderDetails.Include(or => or.Product).Include(or => or.Order).Where(or => or.OrderDetailID == orderDetailId).FirstOrDefault();
         od.Quantity = quantity;
         od.Price    = od.Product.Price * od.Quantity;
         ProductsSize ps = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == od.SizeID).FirstOrDefault();
         ps.Stock -= (quantity - 1);
         ctx.SaveChanges();
         od.Order.TotalCost     = ctx.OrderDetails.Where(x => x.OrderID == orderId && x.DeleteFlag != true).Sum(x => x.Price);
         od.Order.TotalQuantity = ctx.OrderDetails.Where(x => x.OrderID == orderId && x.DeleteFlag != true).Sum(x => x.Quantity);
         ctx.SaveChanges();
     }
 }
 public void UpdateQuantity(int qty, int odId)
 {
     using (var ctx = new BirovAmContext())
     {
         OrderDetail od      = ctx.OrderDetails.Include(d => d.Order).Include(d => d.Product).Where(d => d.OrderDetailID == odId).FirstOrDefault();
         var         origQty = od.Quantity.Value;
         od.Quantity = qty;
         od.Price    = od.Product.Price * od.Quantity;
         ProductsSize ps = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == od.SizeID).FirstOrDefault();
         ps.Stock += (origQty - qty);
         ctx.SaveChanges();
         od.Order.TotalCost     = ctx.OrderDetails.Where(x => x.OrderID == od.Order.OrderID && x.DeleteFlag != true).Sum(x => x.Price);
         od.Order.TotalQuantity = ctx.OrderDetails.Where(x => x.OrderID == od.Order.OrderID && x.DeleteFlag != true).Sum(x => x.Quantity);
         ctx.SaveChanges();
     }
 }
示例#5
0
 public void AddProductSizes(List <ProductsSize> ps)
 {
     using (var ctx = new BirovAmContext())
     {
         foreach (ProductsSize s in ps)
         {
             ProductsSize prs = ctx.ProductsSizes.Where(i => i.ProductID == s.ProductID && i.SizeID == s.SizeID).FirstOrDefault();
             if (prs == null)
             {
                 if (s.Included)
                 {
                     ctx.ProductsSizes.Add(s);
                 }
             }
             else
             {
                 if (s.Included)
                 {
                     if (prs.Stock != s.Stock)
                     {
                         prs.Stock = s.Stock;
                     }
                 }
                 else
                 {
                     ctx.Entry(prs).State = EntityState.Deleted;
                 }
             }
             ctx.SaveChanges();
         }
     }
 }
 public void AddOrderDetail(OrderDetail od)
 {
     using (var ctx = new BirovAmContext())
     {
         var product = ctx.Products.Where(p => p.ProductID == od.ProductID).FirstOrDefault();
         od.Price = product.Price * od.Quantity;
         ctx.OrderDetails.Add(od);
         ProductsSize ps = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == od.SizeID).FirstOrDefault();
         ps.Stock -= od.Quantity.Value;
         ctx.SaveChanges();
         var order = ctx.Orders.Where(o => o.OrderID == od.OrderID).FirstOrDefault();
         order.TotalCost     = ctx.OrderDetails.Where(x => x.OrderID == order.OrderID && x.DeleteFlag != true).Sum(x => x.Price);
         order.TotalQuantity = ctx.OrderDetails.Where(x => x.OrderID == order.OrderID && x.DeleteFlag != true).Sum(x => x.Quantity);
         ctx.SaveChanges();
     }
 }
示例#7
0
 public void EditCustomer(Customer c)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.Entry(c).State = EntityState.Modified;
         ctx.SaveChanges();
     }
 }
 public void AddMessageURL(Message m)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.Messages.Add(m);
         ctx.SaveChanges();
     }
 }
示例#9
0
 private void AddPayentRecord(PaymentRecord p)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.PaymentRecords.Add(p);
         ctx.SaveChanges();
     }
 }
示例#10
0
 public void AddProduct(Product p)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.Products.Add(p);
         ctx.SaveChanges();
     }
 }
 public void AddCustomer(Customer c)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.Customers.Add(c);
         ctx.SaveChanges();
     }
 }
 public void CreateOrder(Order o)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.Orders.Add(o);
         ctx.SaveChanges();
     }
 }
示例#13
0
 public void EditProduct(Product p)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.Entry(p).State = EntityState.Modified;
         ctx.SaveChanges();
     }
 }
示例#14
0
 public void AddCategory(Category c)
 {
     using (var ctx = new BirovAmContext())
     {
         ctx.Categories.Add(c);
         ctx.SaveChanges();
     }
 }
示例#15
0
 public void DeleteCategory(int cId)
 {
     using (var ctx = new BirovAmContext())
     {
         Category c = ctx.Categories.Where(x => x.CategoryID == cId).FirstOrDefault();
         ctx.Entry(c).State = EntityState.Deleted;
         ctx.SaveChanges();
     }
 }
示例#16
0
 public void DeleteSize(int sId)
 {
     using (var ctx = new BirovAmContext())
     {
         Size s = ctx.Sizes.Where(si => si.SizeID == sId).FirstOrDefault();
         ctx.Entry(s).State = EntityState.Deleted;
         ctx.SaveChanges();
     }
 }
示例#17
0
 public void DeleteCustomer(int custId)
 {
     using (var ctx = new BirovAmContext())
     {
         var customer = ctx.Customers.Where(c => c.CustomerID == custId).FirstOrDefault();
         customer.DeleteFlag = true;
         ctx.SaveChanges();
     }
 }
 public void DeleteOrderDetail(int odId, int oId)
 {
     using (var ctx = new BirovAmContext())
     {
         OrderDetail  od = ctx.OrderDetails.Where(d => d.OrderDetailID == odId).FirstOrDefault();
         ProductsSize ps = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == od.SizeID).FirstOrDefault();
         if (ps != null)
         {
             ps.Stock += od.Quantity.Value;
         }
         ctx.Entry(od).State = EntityState.Deleted;
         ctx.SaveChanges();
         Order order = ctx.Orders.Where(o => o.OrderID == oId).FirstOrDefault();
         order.TotalCost     = ctx.OrderDetails.Where(x => x.OrderID == oId && x.DeleteFlag != true).Sum(x => x.Price);
         order.TotalQuantity = ctx.OrderDetails.Where(x => x.OrderID == oId && x.DeleteFlag != true).Sum(x => x.Quantity);
         ctx.SaveChanges();
     }
 }
 public void AddSizeToOrderDetail(int orderDetailId, int sizeId)
 {
     using (var ctx = new BirovAmContext())
     {
         OrderDetail od = ctx.OrderDetails.Where(o => o.OrderDetailID == orderDetailId).FirstOrDefault();
         od.SizeID = sizeId;
         ProductsSize ps = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == sizeId).FirstOrDefault();
         ps.Stock -= 1;
         ctx.SaveChanges();
     }
 }
 public void DeleteOrder(int oId)
 {
     using (var ctx = new BirovAmContext())
     {
         var order = ctx.Orders.Where(o => o.OrderID == oId).FirstOrDefault();
         order.DeleteFlag = true;
         ctx.SaveChanges();
         foreach (OrderDetail od in order.OrderDetails)
         {
             DeleteOrderDetail(od.OrderDetailID);
         }
     }
 }
示例#21
0
 public void DeleteProduct(int pId)
 {
     using (var ctx = new BirovAmContext())
     {
         List <ProductsSize> ps = ctx.ProductsSizes.Where(x => x.ProductID == pId).ToList();
         foreach (ProductsSize pr in ps)
         {
             ctx.Entry(pr).State = EntityState.Deleted;
         }
         Product p = ctx.Products.Where(x => x.ProductID == pId).FirstOrDefault();
         ctx.Entry(p).State = EntityState.Deleted;
         ctx.SaveChanges();
     }
 }
 public void UpdateSize(int sId, int odId)
 {
     using (var ctx = new BirovAmContext())
     {
         OrderDetail od      = ctx.OrderDetails.Where(d => d.OrderDetailID == odId).FirstOrDefault();
         var         origSid = od.SizeID;
         od.SizeID = sId;
         ProductsSize ps1 = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == origSid).FirstOrDefault();
         ProductsSize ps2 = ctx.ProductsSizes.Where(p => p.ProductID == od.ProductID && p.SizeID == od.SizeID).FirstOrDefault();
         ps1.Stock += od.Quantity.Value;
         ps2.Stock -= od.Quantity.Value;
         ctx.SaveChanges();
     }
 }
示例#23
0
 public void AddSize(Size s, List <Category> c)
 {
     using (var ctx = new BirovAmContext())
     {
         if (ctx.Sizes.Any(x => x.Size1 == s.Size1))
         {
             return;
         }
         foreach (Category ca in c)
         {
             ctx.Categories.Attach(ca);
         }
         s.Categories = c;
         ctx.Sizes.Add(s);
         ctx.SaveChanges();
     }
 }
示例#24
0
 public void EditSize(Size s)
 {
     using (var ctx = new BirovAmContext())
     {
         List <Category> ctxCategories = new List <Category>();
         foreach (Category cato in s.Categories)
         {
             Category ctxCategory = ctx.Categories.Where(z => z.CategoryID == cato.CategoryID).FirstOrDefault();
             ctxCategories.Add(ctxCategory);
         }
         Size size = ctx.Sizes.Include(x => x.Categories).Where(x => x.SizeID == s.SizeID).FirstOrDefault();
         size.Size1      = s.Size1;
         size.SizeCode   = s.SizeCode;
         size.Categories = ctxCategories;
         ctx.SaveChanges();
     }
 }
示例#25
0
 public void RecordPayment(int oId, decimal paid)
 {
     using (var ctx = new BirovAmContext())
     {
         var order = ctx.Orders.Where(o => o.OrderID == oId).FirstOrDefault();
         order.TotalAmountPaid += paid;
         List <OrderDetail> details = ctx.OrderDetails.Where(od => od.OrderID == oId && od.DeleteFlag != true).ToList();
         foreach (OrderDetail d in details)
         {
             if (paid > 0)
             {
                 if (d.AmountPaid == null || d.AmountPaid < d.Price)
                 {
                     var amountOwed = d.Price - d.AmountPaid;
                     d.AmountPaid = paid > amountOwed ? d.AmountPaid + amountOwed : d.AmountPaid + paid;
                     paid        -= amountOwed.Value;
                 }
             }
         }
         ctx.SaveChanges();
     }
 }