public ActionResult DeleteConfirmed(int id)
        {
            OperationCostDetail operationCostDetail = db.OperationCostDetails.Find(id);

            db.OperationCostDetails.Remove(operationCostDetail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "OperationCostDetailID,CostHead,ExpenseID,CostAmount,AddedBy,CostDate")] OperationCostDetail operationCostDetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(operationCostDetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ExpenseID = new SelectList(db.Expenses, "ExpenseID", "Month", operationCostDetail.ExpenseID);
     return(View(operationCostDetail));
 }
        // GET: OperationCostDetail/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OperationCostDetail operationCostDetail = db.OperationCostDetails.Find(id);

            if (operationCostDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(operationCostDetail));
        }
        // GET: OperationCostDetail/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OperationCostDetail operationCostDetail = db.OperationCostDetails.Find(id);

            if (operationCostDetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ExpenseID = new SelectList(db.Expenses, "ExpenseID", "Month", operationCostDetail.ExpenseID);
            return(View(operationCostDetail));
        }
        public ActionResult Create([Bind(Include = "OperationCostDetailID,CostHead,ExpenseID,CostAmount,AddedBy,CostDate")] OperationCostDetail operationCostDetail)
        {
            if (ModelState.IsValid)
            {
                int    sid   = Convert.ToInt32(Session["OutletID"].ToString());
                string month = DateTime.Now.ToString("MMMM");
                int    expID = db.Expenses.FirstOrDefault(e => e.OutletID == sid && e.Month.ToLower() == month.ToLower()).ExpenseID;
                operationCostDetail.ExpenseID = expID;
                operationCostDetail.AddedBy   = HttpContext.User.Identity.Name;
                operationCostDetail.CostDate  = DateTime.Now;
                db.OperationCostDetails.Add(operationCostDetail);
                db.SaveChanges();

                var expenseUpdate = db.Expenses.Where(e => e.ExpenseID == expID).FirstOrDefault();
                if (operationCostDetail.CostAmount > expenseUpdate.CashOnHand)
                {
                    if (expenseUpdate.CashOnHand == 0)
                    {
                        expenseUpdate.OtherExpense += operationCostDetail.CostAmount;
                    }
                    else
                    {
                        expenseUpdate.OtherExpense = operationCostDetail.CostAmount - expenseUpdate.CashOnHand;
                        expenseUpdate.CashOnHand  -= expenseUpdate.CashOnHand;
                    }
                }
                else
                {
                    expenseUpdate.CashOnHand -= operationCostDetail.CostAmount;
                }
                db.Entry(expenseUpdate).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ExpenseID = new SelectList(db.Expenses, "ExpenseID", "Month", operationCostDetail.ExpenseID);
            return(View(operationCostDetail));
        }