예제 #1
0
        public ActionResult InspectEmployee(long EmployeesId, long RequestId)
        {
            var      approvers        = new AdminService().RetrieveApprovers();
            Employee employee         = new EmployeeService().RetrieveEmployeeById(EmployeesId);
            var      retrieveRollover = new EmployeeService().RetrieveRolloverForEmployee(EmployeesId);
            var      ptoModel         = new PTOViewModel
            {
                RolloverHours = retrieveRollover.Hours
            };
            var request = new RequestService().RetrieveRequestListById(RequestId);

            var viewmodel = new AdminRequestViewModel
            {
                Employee    = employee,
                Approver    = new EmployeeService().RetrieveEmployeeById(approvers.First(a => a.ApproverID == request.ApproverEmployeeID).EmployeeID.Value),
                RequestDays = request.RequestDays,
                PTOComment  = request.PTOComment,
                Status      = request.Status,
                RequestId   = request.PTORequestId,
                RequestDate = request.RequestDate,
                User        = new UserViewModel
                {
                    HireDate = employee.HireDate,
                    PTO      = ptoModel,
                    UserID   = employee.EmployeeID
                }
            };

            // Calculate PTORate and PTOHours and Anniversary
            CalculatePTO(viewmodel.User);

            return(View("~/Views/Admin/_Inspect.cshtml", viewmodel));
        }
예제 #2
0
        public ActionResult UserDetails(long userId)
        {
            Employee user     = new EmployeeService().RetrieveEmployeeById(userId);
            var      roll     = new EmployeeService().RetrieveRolloverForEmployee(user.EmployeeID);
            var      ptoModel = new PTOViewModel
            {
                RolloverHours = roll.Hours
            };
            var viewModel = new UserViewModel
            {
                UserID          = user.EmployeeID,
                IsAdmin         = user.IsAdmin,
                HireDate        = user.HireDate,
                AnniversaryDate = user.AnniversaryDate,
                DisplayName     = user.DisplayName,
                PTO             = ptoModel
            };

            CalculatePTO(viewModel);
            return(View("_UserCalendar", viewModel));
        }
예제 #3
0
        public ActionResult PTODetails()
        {
            var user     = new EmployeeService().RetrieveEmployeeById(CurrentUser.EmployeeID);
            var roll     = new EmployeeService().RetrieveRolloverForEmployee(user.EmployeeID);
            var ptoModel = new PTOViewModel
            {
                RolloverHours = roll.Hours
            };
            var viewModel = new UserViewModel
            {
                UserID          = user.EmployeeID,
                IsAdmin         = user.IsAdmin,
                HireDate        = user.HireDate,
                AnniversaryDate = user.AnniversaryDate,
                DisplayName     = user.DisplayName,
                PTO             = ptoModel
            };

            CalculatePTO(viewModel);
            return(View("~/Views/Home/_PTODetails.cshtml", viewModel));
        }
예제 #4
0
        public ActionResult EditUserView(long userId)
        {
            var           user             = new EmployeeService().RetrieveEmployeeById(userId);
            bool          Isapprover       = false;
            var           approversId      = new EmployeeService().RetrieveApproversList().Select(x => x.EmployeeID).ToList();
            var           teamIds          = new EmployeeService().RetrieveTeamByEmployeeId(userId).Select(x => x.TeamID).ToArray();
            var           retrieveRollover = new EmployeeService().RetrieveRolloverForEmployee(userId);
            List <string> teamNames        = new List <string>();
            var           ptoModel         = new PTOViewModel
            {
                RolloverHours = retrieveRollover.Hours
            };

            if (user == null)
            {
                throw new Exception("User was not found");
            }

            List <SelectListItem> approvers = new EmployeeService().RetrieveApproversList()
                                              .Select(name => new SelectListItem
            {
                Text  = name.DisplayName,
                Value = name.ApproverEmployeeId.ToString()
            }).ToList();

            List <SelectListItem> teams = new EmployeeService().RetrieveTeams().Select(x => new SelectListItem
            {
                Text  = x.TeamName,
                Value = x.TeamID.ToString()
            }).ToList();


            foreach (var teamId in teamIds.Where(t => t.HasValue))
            {
                teamNames.Add(new EmployeeService().RetrieveTeam(teamId.Value).TeamName);
            }

            string arrayOfTeamNames = string.Join(", ", teamNames.ToArray());

            if (approversId.Contains(user.EmployeeID))
            {
                Isapprover = true;
            }

            var viewModel = new UserViewModel
            {
                UserID             = user.EmployeeID,
                DisplayName        = user.DisplayName,
                UserName           = user.Username,
                IsAdmin            = user.IsAdmin,
                Email              = user.Email,
                HireDate           = user.HireDate,
                AnniversaryDate    = user.AnniversaryDate,
                ApproverEmployeeId = user.ApproverEmployeeId,
                Approvers          = approvers,
                Teams              = teams,
                TeamId             = teamIds,
                TeamsNames         = arrayOfTeamNames,
                IsApprover         = Isapprover,
                PTO = ptoModel
            };

            return(View("~/Views/Admin/_EditUser.cshtml", viewModel));
        }