public ActionResult Create([Bind(Include = "Id,EmployeeId,AdvanceSalary,Months,Date,Status,SessionId")] EmployeeAdvanceSalary employeeAdvanceSalary)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var name = Request.Form["MonthName"];
                    employeeAdvanceSalary.Status = "Pending";
                    employeeAdvanceSalary.Months = name;
                    db.EmployeeAdvanceSalaries.Add(employeeAdvanceSalary);
                    db.SaveChanges();

                    //Ledger ledger_exp = db.Ledgers.Where(x => x.Name == "Employee Clearing").FirstOrDefault();////Expence
                    //ledger_exp.StartingBalance += employeeAdvanceSalary.AdvanceSalary;
                    //ledger_exp.CurrentBalance += employeeAdvanceSalary.AdvanceSalary;
                    //db.SaveChanges();

                    //Ledger ledger_lib = db.Ledgers.Where(x => x.Name == "Employee Salary").FirstOrDefault();////Liability
                    //ledger_lib.StartingBalance += employeeAdvanceSalary.AdvanceSalary;
                    //ledger_lib.CurrentBalance += employeeAdvanceSalary.AdvanceSalary;
                    //db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception e)
            {
                ViewBag.ErrorMessage = e.Message;
            }

            ViewBag.SessionId  = new SelectList(db.AspNetSessions, "Id", "Year", employeeAdvanceSalary.SessionId);
            ViewBag.EmployeeId = new SelectList(db.AspNetEmployees, "Id", "Name", employeeAdvanceSalary.EmployeeId);
            return(View(employeeAdvanceSalary));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            EmployeeAdvanceSalary employeeAdvanceSalary = db.EmployeeAdvanceSalaries.Find(id);

            db.EmployeeAdvanceSalaries.Remove(employeeAdvanceSalary);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: EmployeeAdvanceSalaries/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EmployeeAdvanceSalary employeeAdvanceSalary = db.EmployeeAdvanceSalaries.Find(id);

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

            if (employeeAdvanceSalary == null)
            {
                return(HttpNotFound());
            }
            ViewBag.SessionId  = new SelectList(db.AspNetSessions, "Id", "Year", employeeAdvanceSalary.SessionId);
            ViewBag.EmployeeId = new SelectList(db.AspNetEmployees, "Id", "Name", employeeAdvanceSalary.EmployeeId);
            return(View(employeeAdvanceSalary));
        }
        public ActionResult Edit([Bind(Include = "Id,EmployeeId,AdvanceSalary,Months,Date,Status,SessionId")] EmployeeAdvanceSalary employeeAdvanceSalary)
        {
            if (ModelState.IsValid)
            {
                db.Entry(employeeAdvanceSalary).State = EntityState.Modified;
                db.SaveChanges();

                //if(employeeAdvanceSalary.Status!="Pending")
                //{
                //    Ledger l = db.Ledgers.Where(x => x.Name == "Employee Salary").FirstOrDefault();////Liability
                //    l.StartingBalance -= employeeAdvanceSalary.AdvanceSalary;
                //    l.CurrentBalance -= employeeAdvanceSalary.AdvanceSalary;
                //    db.SaveChanges();
                //}


                return(RedirectToAction("Index"));
            }
            ViewBag.SessionId  = new SelectList(db.AspNetSessions, "Id", "Year", employeeAdvanceSalary.SessionId);
            ViewBag.EmployeeId = new SelectList(db.AspNetEmployees, "Id", "Name", employeeAdvanceSalary.EmployeeId);
            return(View(employeeAdvanceSalary));
        }