public ActionResult DeleteConfirmed(int id)
        {
            ApproveCredit approveCredit = db.ApproveCredit.Find(id);

            db.ApproveCredit.Remove(approveCredit);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,Seq,Name,Credit")] ApproveCredit approveCredit)
 {
     if (ModelState.IsValid)
     {
         db.Entry(approveCredit).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(approveCredit));
 }
        public ActionResult Create([Bind(Include = "Id,Seq,Name,Credit")] ApproveCredit approveCredit)
        {
            if (ModelState.IsValid)
            {
                db.ApproveCredit.Add(approveCredit);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(approveCredit));
        }
        // GET: ApproveCredits/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ApproveCredit approveCredit = db.ApproveCredit.Find(id);

            if (approveCredit == null)
            {
                return(HttpNotFound());
            }
            return(View(approveCredit));
        }
        public ActionResult Send([Bind(Include = "Id,Name,Credit")] ApproveCredit approveCredit)
        {
            List <string> transactionLog = new List <string>();


            ManagementPerson manager = new Manager();
            ManagementPerson gm      = new GM();

            manager.SetSuccessor(gm);
            var data = db.ApproveCredit.OrderBy(f => f.Seq);

            foreach (var item in data)
            {
                manager.CreditLine = item.Credit;
                manager.Name       = item.Name;
                gm.CreditLine      = item.Credit;
                gm.Name            = item.Name;
                if (manager.Approve(approveCredit.Credit))
                {
                    transactionLog.Add(string.Format("Send to Successor {0}", item.Name));
                    transactionLog.Add(string.Format("{0} approved request of {1} BHT", item.Name, approveCredit.Credit));
                    break;
                }
                else
                {
                    transactionLog.Add(string.Format("Send to Successor {0}", item.Name));
                }
            }
            if (transactionLog.Any())
            {
                ViewBag.Items = transactionLog;
                db.HistoryTransaction.Add(new HistoryTransaction {
                    MoneyApprove = approveCredit.Credit, Log = JsonConvert.SerializeObject(transactionLog)
                });
                db.SaveChanges();
            }
            return(View(approveCredit));
        }