Пример #1
0
        private DepartmentCoverEmployee generateCoverEmployeeDetails(AssignCoverDTO assignstaff)
        {
            DepartmentCoverEmployee coverdetails = new DepartmentCoverEmployee();

            coverdetails.EmployeeId = assignstaff.NewCoverHeadId;
            coverdetails.FromDate   = assignstaff.FromDate;
            coverdetails.ToDate     = assignstaff.ToDate;
            coverdetails.Status     = Enum.GetName(typeof(Enums.ActiveStatus), Enums.ActiveStatus.ACTIVE);

            return(coverdetails);
        }
Пример #2
0
        public ActionResult CancelCoverStaff(int coverId)
        {
            if (Session["existinguser"] != null)
            {
                LoginDTO currentUser = (LoginDTO)Session["existinguser"];
                if (currentUser.RoleId != (int)Enums.Roles.DepartmentHead)
                {
                    return(RedirectToAction("RedirectToClerkOrDepartmentView", "Login"));
                }
                DepartmentCoverEmployee cover = AssignStaffService.Instance.GetDepartmentCoverEmployeeById(coverId);
                AssignStaffService.Instance.CancelDepartmentCoverEmployee(cover);

                return(RedirectToAction("AssignCoverStaff", "AssignStaff"));
            }
            return(RedirectToAction("Index", "Login"));
        }
Пример #3
0
        public ActionResult AssignCoverStaff(AssignCoverDTO assignstaff)
        {
            if (Session["existinguser"] != null)
            {
                LoginDTO currentUser = (LoginDTO)Session["existinguser"];
                if (currentUser.RoleId != (int)Enums.Roles.DepartmentHead)
                {
                    return(RedirectToAction("RedirectToClerkOrDepartmentView", "Login"));
                }
                IEnumerable <DepartmentCoverEmployee> existing = AssignStaffService.Instance.GetExistingDepartmentCoverEmployeesWithinDateRange(assignstaff.FromDate, assignstaff.ToDate);
                DepartmentCoverEmployee newcoverdetails        = generateCoverEmployeeDetails(assignstaff);

                Employee e = AssignStaffService.Instance.GetStaff(currentUser.EmployeeId);
                assignstaff.StaffAndCoverHead      = AssignStaffService.Instance.GetAllStaffAndCoverHeadInDept(e.DepartmentId);
                assignstaff.ActiveCoverHeadDetails = AssignStaffService.Instance.GetCurrentDepartmentCoverEmployeesByDepartmentId(e.DepartmentId);

                //assuming Head can only assign earliest fromdate from next day
                if (existing.Count() > 0 || assignstaff.ToDate < assignstaff.FromDate || assignstaff.FromDate < DateTime.Now || assignstaff.ToDate < DateTime.Now)
                {
                    assignstaff.Error          = new ErrorDTO();
                    assignstaff.Error.HasError = true;
                    assignstaff.Error.Message  = "";

                    if (assignstaff.ToDate < assignstaff.FromDate || assignstaff.FromDate < DateTime.Now || assignstaff.ToDate < DateTime.Now)
                    {
                        assignstaff.Error.Message += "Valid From and To Dates required. ";
                    }
                    if (existing.Count() > 0 && assignstaff.ToDate != assignstaff.FromDate && assignstaff.FromDate < assignstaff.ToDate && assignstaff.FromDate > DateTime.Now)
                    {
                        assignstaff.Error.Message += "There is already a cover staff assigned within this date range.";
                    }
                    return(View(assignstaff));
                }
                else
                {
                    AssignStaffService.Instance.CreateDepartmentCoverEmployee(newcoverdetails);
                    newcoverdetails.Employee           = AssignStaffService.Instance.GetStaff(newcoverdetails.EmployeeId);
                    assignstaff.StaffAndCoverHead      = AssignStaffService.Instance.GetAllStaffAndCoverHeadInDept(e.DepartmentId);
                    assignstaff.ActiveCoverHeadDetails = AssignStaffService.Instance.GetCurrentDepartmentCoverEmployeesByDepartmentId(e.DepartmentId);

                    return(View(assignstaff));
                }
            }
            return(RedirectToAction("Index", "Login"));
        }
Пример #4
0
 public void CancelDepartmentCoverEmployee(DepartmentCoverEmployee cover)
 {
     cover.Status = Enum.GetName(typeof(Enums.ActiveStatus), Enums.ActiveStatus.INACTIVE);
     DepartmentCoverEmployeeRepo.Instance.Update(cover);
 }
Пример #5
0
 public void CreateDepartmentCoverEmployee(DepartmentCoverEmployee cover)
 {
     DepartmentCoverEmployeeRepo.Instance.Create(cover);
 }