public void Update(PriceHistory item) { Sales.Model.Models.PriceHistory priceHistory = _context.PriceHistories.Find(item.ID); if (priceHistory != null) { priceHistory.Date = item.Date; priceHistory.Price = item.Price; priceHistory.Product_ID = item.Product_ID; _context.Entry <PriceHistory>(priceHistory).State = System.Data.Entity.EntityState.Modified; } else { throw new ArgumentException("PriceHistory with this ID not found"); } }
public override void Update(Operation item) { Sales.Model.Models.Operation operation = _context.Operations.Find(item.ID); if (operation != null) { if (_context.Clients.Any(x => x.ID == item.Client_ID) && _context.Managers.Any(x => x.ID == item.Manager_ID) && _context.Products.Any(x => x.ID == item.Product_ID)) { var price = _context.PriceHistories.Where(x => x.Product_ID == item.Product_ID && x.Date <= item.PriceHistory.Date).ToList(); if (price.Count > 0 && price.Last().Price == item.PriceHistory.Price) { item.PriceHistory = price.Last(); } else { item.PriceHistory.Date = DateTime.Now; } operation.Client_ID = item.Client_ID; operation.DateOfOperation = item.DateOfOperation; operation.Manager_ID = item.Manager_ID; operation.Product_ID = item.Product_ID; _context.Entry <Operation>(operation).State = System.Data.Entity.EntityState.Modified; } else { throw new ArgumentException("Unable to update operation in database"); } } else { throw new ArgumentException("Operation with this ID not found"); } }