public ActionResult DeleteConfirmed(string id)
        {
            Employees_Other_Leave_Counts eolc = db.Employees_Other_Leave_Counts.Find(id);

            if (eolc != null)
            {
                db.Employees_Other_Leave_Counts.Remove(eolc);
                db.SaveChanges();
            }

            var etl = db.Employees_Take_Leaves.Where(s => s.emp_code == id).ToList();

            for (int i = 0; i < etl.Count(); i++)
            {
                Employees_Take_Leaves obj = db.Employees_Take_Leaves.Find(etl[i].id);
                db.Employees_Take_Leaves.Remove(obj);
                db.SaveChanges();
            }

            Employee employee = db.Employees.Find(id);

            db.Employees.Remove(employee);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Index(CheckLeaveViewModel checkLeaveViewModel)
        {
            Employees_Other_Leave_Counts eolc    = new Employees_Other_Leave_Counts();
            CheckLeaveModel checkLeaveModel      = new CheckLeaveModel();
            List <Employees_Take_Leaves> etlList = new List <Employees_Take_Leaves>();

            checkLeaveViewModel.code = "NHM" + checkLeaveViewModel.code;
            var getRow = db.Employees_Other_Leave_Counts.FirstOrDefault(s => s.code == checkLeaveViewModel.code);

            if (getRow == null)
            {
                return(Content("<script language='javascript' type='text/javascript'>alert('Invalid Employee Code. Go back and Try Again!');</script>"));
            }

            var getTotalAbsentRows = db.Employees_Take_Leaves.Where(s => s.emp_code == checkLeaveViewModel.code).ToList();
            var getLeaveDetails    = db.Employees_Take_Leaves.Where(s => s.emp_code == checkLeaveViewModel.code).ToList();
            var getLeaveTypes      = db.Leaves.Select(row => row).ToList();
            var getNameRow         = db.Employees.FirstOrDefault(s => s.code == checkLeaveViewModel.code);

            checkLeaveModel.code = getRow.code;
            checkLeaveModel.name = getNameRow.name;
            checkLeaveModel.maternity_leave_count_left      = getRow.maternity_leave_count_left;
            checkLeaveModel.paternity_leave_count_left      = getRow.paternity_leave_count_left;
            checkLeaveModel.child_adoption_leave_count_left = getRow.child_adoption_leave_count_left;
            checkLeaveModel.absentDays = 0;



            for (int i = 0; i < getTotalAbsentRows.Count(); i++)
            {
                checkLeaveModel.absentDays += getTotalAbsentRows[i].absent_days;
            }

            /*
             * for (int i = 0; i < getLeaveTypes.Count(); i++)
             * {
             *  for (int j = 0; j < getLeaveDetails.Count(); j++)
             *  {
             *      if (getLeaveDetails[j].leave_id == getLeaveTypes[i].id)
             *      {
             *          Employees_Take_Leaves etl = new Employees_Take_Leaves();
             *          etl.emp_code = getLeaveDetails[j].emp_code;
             *          etl.leave_id = getLeaveDetails[j].leave_id;
             *          etl.date_from = getLeaveDetails[j].date_from;
             *          etl.date_to = getLeaveDetails[j].date_to;
             *          etl.financial_year_start = getLeaveDetails[j].financial_year_start;
             *          etl.financial_year_end = getLeaveDetails[j].financial_year_end;
             *          etl.absent_days = getLeaveDetails[j].absent_days;
             *          etlList.Add(etl);
             *          //checkLeaveModel.persistantObjects.Add(etl);
             *      }
             *  }
             * }
             */

            return(RedirectToAction("GetLeaveCounts", "CheckLeave", checkLeaveModel));
        }
        public ActionResult Create([Bind(Include = "code,name,post_id,block_id,type_of_institute_id,posting_place_id,gender")] Employee employee)
        {
            if (ModelState.IsValid)
            {
                employee.code = "NHM" + employee.code;
                db.Employees.Add(employee);
                db.SaveChanges();

                Employees_Other_Leave_Counts elc = new Employees_Other_Leave_Counts();
                elc.code = employee.code;
                // granted to employee in a lifetime basis
                elc.maternity_leave_count_left      = 2;
                elc.paternity_leave_count_left      = 2;
                elc.child_adoption_leave_count_left = 2;

                db.Employees_Other_Leave_Counts.Add(elc);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(employee));
        }