public ActionResult UpdateLeaveHistoryType(EmployeeLeaveHistory LeaveHistoryIformation)
        {
            try
            {
                var leaveHistory = db.EmployeeLeaveHistories.Where(s => s.EmployeeLeaveHistoryID == LeaveHistoryIformation.EmployeeLeaveHistoryID);

                LeaveHistoryIformation.Status = AppUtils.TableStatusIsActive;
                db.Entry(leaveHistory.SingleOrDefault()).CurrentValues.SetValues(LeaveHistoryIformation);
                db.SaveChanges();

                var LeaveHistory =
                    new EmployeeLeaveViewModel()
                {
                    ID            = LeaveHistoryIformation.EmployeeLeaveHistoryID,
                    Reason        = LeaveHistoryIformation.Reason,
                    LeaveTypeName = db.LeaveSallaryTypes.Find(LeaveHistoryIformation.LeaveType).LeaveTypeName,
                    StartDate     = LeaveHistoryIformation.StartDate,
                    EndDate       = LeaveHistoryIformation.EndDate,
                    LoginName     = db.Employee.Find(LeaveHistoryIformation.EmployeeID).LoginName,
                };
                var JSON = Json(new { UpdateSuccess = true, EMPLH = LeaveHistory }, JsonRequestBehavior.AllowGet);
                JSON.MaxJsonLength = int.MaxValue;
                return(JSON);
            }
            catch
            {
                return(Json(new { UpdateSuccess = false, EMPLH = "" }, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult InsertEmployeLeaveHistory(EmployeeLeaveHistory LeaveStory)
        {
            int leaveHistories = db.EmployeeLeaveHistories.Count();

            try
            {
                LeaveStory.Status = AppUtils.TableStatusIsActive;
                db.EmployeeLeaveHistories.Add(LeaveStory);
                db.SaveChanges();

                EmployeeLeaveViewModel LeaveHistoryInfo = new EmployeeLeaveViewModel
                {
                    ID            = LeaveStory.EmployeeLeaveHistoryID,
                    LoginName     = db.Employee.Find(LeaveStory.EmployeeID).LoginName,
                    Reason        = LeaveStory.Reason,
                    StartDate     = LeaveStory.EndDate,
                    EndDate       = LeaveStory.EndDate,
                    LeaveTypeName = db.LeaveSallaryTypes.Find(LeaveStory.LeaveType).LeaveTypeName,
                };


                return(Json(new { SuccessInsert = true, LeaveHistoryInfo = LeaveHistoryInfo, leaveHistories = leaveHistories }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { SuccessInsert = false }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult DelecteLeaveHistory(int id)
        {
            EmployeeLeaveHistory leaveHistory = new EmployeeLeaveHistory();

            leaveHistory                 = db.EmployeeLeaveHistories.Find(id);
            leaveHistory.EmployeeID      = leaveHistory.EmployeeID;
            leaveHistory.Reason          = leaveHistory.Reason;
            leaveHistory.StartDate       = leaveHistory.EndDate;
            leaveHistory.LeaveType       = leaveHistory.LeaveType;
            leaveHistory.Status          = AppUtils.TableStatusIsDelete;
            db.Entry(leaveHistory).State = EntityState.Modified;
            db.SaveChanges();
            return(Json(new { leaveHistoryID = leaveHistory.EmployeeLeaveHistoryID, success = true }, JsonRequestBehavior.AllowGet));
        }