public ActionResult Edit([Bind(Include = "Id,Name,Cost")] Product product)
 {
     if (ModelState.IsValid)
     {
         db.Entry(product).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(product));
 }
예제 #2
0
 public ActionResult Edit([Bind(Include = "Id,ProductId,InStock")] Inventory inventory)
 {
     if (ModelState.IsValid)
     {
         db.Entry(inventory).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProductId = new SelectList(db.Products, "Id", "Name", inventory.ProductId);
     return(View(inventory));
 }
        public void SaveTransactionWorkFlow(Transaction form)
        {
            var key = Guid.NewGuid();

            try
            {
                using (SalesManagementDemoEntities dbContext = new SalesManagementDemoEntities())
                {
                    var prodId    = dbContext.Products.Where(t => t.Name == form.Product).Select(t => t.Id).SingleOrDefault();
                    var accTypeId = int.Parse(
                        dbContext.AccountTypes
                        .Where(w => w.Name == form.AccountType)
                        .Select(S => S.Id)?
                        .FirstOrDefault()
                        .ToString());

                    dbContext.Order_Details.Add(new Order_Details
                    {
                        Id = key,
                        CustomerFirstName = form.CustFName,
                        CustomerLastName  = form.CustLName,
                        AccountType       = accTypeId,
                        DeliveryAddress   = form.DeliveryAddress,
                        AccountNumber     = form.AccountNumber
                    }
                                                );

                    dbContext.SaveChanges();

                    dbContext.Orders.Add(new Order
                    {
                        ProductId     = prodId,
                        Quantity      = form.Quantity,
                        TransactionId = key,
                        TotalCost     = (form.TotalCost * form.Quantity),
                        OrderDate     = DateTime.Now
                    }
                                         );

                    dbContext.SaveChanges();


                    var budget = new Budget
                    {
                        DepartmentId = 1,
                        Amounted     = (decimal)50000.00,
                        TimeStamped  = DateTime.Now,
                        Gains        = form.TotalCost * (decimal)dbContext.Products.Where(t => t.Name == form.Product).Select(s => s.ProfitRate)?.FirstOrDefault(),
                        Loss         = (decimal)0.00,
                    };

                    budget.budget1 = (decimal)dbContext.Budgets.OrderByDescending(o => o.TimeStamped).Select(s => s.budget1)?.FirstOrDefault() + budget.Gains;

                    dbContext.Budgets.Add(budget);

                    dbContext.SaveChanges();

                    var updateCount = dbContext.Inventories.Where(w => w.ProductId == prodId).Select(s => s.InStock)?.FirstOrDefault() - form.Quantity;
                    var inventory   = new Inventory
                    {
                        ProductId = prodId,
                        InStock   = updateCount
                    };

                    dbContext.Inventories.Attach(inventory);

                    dbContext.Entry(inventory).State = EntityState.Added;

                    dbContext.SaveChanges();
                }
            }
            catch (Exception e) { return; }
        }