Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        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 }));
        }
Ejemplo n.º 3
0
        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 }));
        }