public ActionResult AddPacks(int?id, decimal amount, string description) { Pack pack = db.Packs.Include(p => p.Stock).FirstOrDefault(p => p.Id == id); pack.Amount += amount; HistoryPack hp1 = new HistoryPack() { Amount = 0 + amount, Name = pack.Name, Date = DateTime.UtcNow.AddHours(6), Pack = pack, Stock = pack.Stock, Description = description }; db.HistoryPacks.Add(hp1); db.SaveChanges(); HttpCookie cookie = new HttpCookie("Packs"); cookie["id"] = Convert.ToString(pack.Id); Response.Cookies.Add(cookie); return(RedirectToAction("Materials", "Production", new { id = 1009 })); }
public ActionResult DeletePacks(int?id, decimal amount, string description) { Pack pack = db.Packs.Include(p => p.Stock).FirstOrDefault(p => p.Id == id); pack.Amount -= amount; HistoryPack hp1 = new HistoryPack() { Amount = 0 - amount, Name = pack.Name, Date = DateTime.UtcNow.AddHours(6), Pack = pack, Stock = pack.Stock, Description = description }; db.HistoryPacks.Add(hp1); db.SaveChanges(); return(RedirectToAction("Materials", "Production", new { id = 1009 })); }
public ActionResult ShipmentConfirmM(int?id) { Sale sale = db.Sales .Include(s => s.Dealer) .Include(s => s.Stock) .Include(s => s.GreenhouseForSales) .FirstOrDefault(s => s.Id == id); Stock stock = db.Stocks.FirstOrDefault(s => s.Id == sale.Stock.Id); sale.Confirmed = true; //Увеличивает задолжность дилера, если есть необходимость и дилер if (sale.Remain > 0 && sale.Dealer != null) { Dealer d1 = db.Dealers.FirstOrDefault(d => d.Name == sale.Dealer.Name); d1.Debt += sale.Remain; } //Списывает пакеты со склада, если была отгрузка if (sale.Shipment == true) { foreach (var g in sale.GreenhouseForSales) { Greenhouse g1 = db.Greenhouses .Include(gh => gh.PacksForGH) .Include(gh => gh.Stock) .FirstOrDefault(gh => gh.Name == g.Name && gh.Stock.Id == stock.Id); foreach (var p in g1.PacksForGH) { Pack p1 = db.Packs .Include(pck => pck.Stock) .FirstOrDefault(pck => pck.Name == p.Name && pck.Stock.Id == stock.Id); p1.Amount -= 1 * p.Amount * g.Amount; HistoryPack hp1 = new HistoryPack() { Name = p1.Name, Amount = p.Amount * g.Amount * -1, Date = DateTime.Now, ForHistory = false, Sale = sale, Pack = p1, Stock = stock, Description = sale.Number }; db.HistoryPacks.Add(hp1); } } } foreach (var g in sale.GreenhouseForSales) { Greenhouse g1 = db.Greenhouses .Include(gh => gh.PacksForGH) .Include(gh => gh.Stock) .FirstOrDefault(gh => gh.Name == g.Name && gh.Stock.Id == stock.Id); sale.SumBonuses += (g1.Bonus * g.Amount); sale.SumCostPrice += (g1.CostPrice * g.Amount); sale.Profit = sale.SumWithD - sale.SumCostPrice; } InfoMoney im1 = null; im1 = db.InfoMoneys.Include(i => i.Sale).FirstOrDefault(i => i.Sale.Id == sale.Id); if (im1 == null) { im1 = new InfoMoney() { Stock = stock, Sale = sale, Cost = sale.AddMoney, Date = DateTime.UtcNow.AddHours(6), PayForTerminal = sale.PayForTerminal }; db.InfoMoneys.Add(im1); } else { im1.Stock = stock; im1.Sale = sale; im1.Cost = sale.AddMoney; im1.Date = DateTime.UtcNow.AddHours(6); im1.PayForTerminal = sale.PayForTerminal; } db.SaveChanges(); HttpCookie cookie = Request.Cookies["Greenhouses"]; cookie["ListForRealization"] = null; Response.Cookies.Add(cookie); return(RedirectToAction("Index", "Production", new { id = sale.Id })); }