Exemplo n.º 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);
        }
Exemplo n.º 2
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"));
        }
Exemplo n.º 3
0
        // GET: AssignCoverStaff
        public ActionResult AssignCoverStaff()
        {
            if (Session["existinguser"] != null)
            {
                LoginDTO currentUser = (LoginDTO)Session["existinguser"];
                if (currentUser.RoleId != (int)Enums.Roles.DepartmentHead)
                {
                    return(RedirectToAction("RedirectToClerkOrDepartmentView", "Login"));
                }
                int            eId         = currentUser.EmployeeId;
                AssignCoverDTO assignstaff = new AssignCoverDTO();

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

                return(View(assignstaff));
            }
            return(RedirectToAction("Index", "Login"));
        }