public ActionResult ProcessRequest(int id)
        {
            LeaveRequest leaveRequest = db.LeaveRequests.Find(id);



            DepartmentManagerLeaveRequestViewModel viewModel = new DepartmentManagerLeaveRequestViewModel()
            {
                allDayEvent             = leaveRequest.allDayEvent,
                departmentManager       = leaveRequest.departmentManager,
                departmentManagerStatus = leaveRequest.departmentManagerStatus,
                employee    = leaveRequest.employee,
                endTime     = leaveRequest.endTime,
                description = leaveRequest.Description,
                leaveReason = leaveRequest.leaveReason,
                startTime   = leaveRequest.startTime,
                departmentManagerComment = leaveRequest.departmentManagerComment,
                leaveRequestID           = leaveRequest.leaveRequestID
            };

            // ViewBag.possibleStatuses = new SelectList(db.RequestStatus, "requestStatusID", "requestStatusName",GetRequestStatusByName(leaveRequest.departmentManagerStatus.requestStatusName).requestStatusID);
            ViewBag.departmentManagerStatusID = new SelectList(db.RequestStatus, "requestStatusID", "requestStatusName", GetRequestStatusByName(leaveRequest.departmentManagerStatus.requestStatusName).requestStatusID);
            ViewData["employeeName"]          = leaveRequest.employee.employeeName;
            ViewData["startTime"]             = leaveRequest.startTime;
            ViewData["endTime"]     = leaveRequest.endTime;
            ViewData["allDayEvent"] = leaveRequest.allDayEvent;


            return(View("DepartmentManagerProcessRequest", viewModel));
        }
        // GET: DepartmentManagerLeaveRequestViewModels
        public ActionResult Index()
        {
            List <DepartmentManagerLeaveRequestViewModel> requstsList = new List <DepartmentManagerLeaveRequestViewModel>();
            Employee emp = (Employee)Session["user"];
            var      m   = from e in db.LeaveRequests
                           where (e.deliveryManagerStatus.requestStatusName.Equals("Approved")) && e.departmentManagerStatus.requestStatusName.Equals("Pending") && (e.departmentManager.employeeID == emp.employeeID)
                           select e;



            foreach (LeaveRequest req in m)
            {
                DepartmentManagerLeaveRequestViewModel viewModel = new DepartmentManagerLeaveRequestViewModel()
                {
                    allDayEvent             = req.allDayEvent,
                    departmentManager       = req.departmentManager,
                    departmentManagerStatus = req.departmentManagerStatus,
                    employee    = req.employee,
                    endTime     = req.endTime,
                    description = req.Description,
                    leaveReason = req.leaveReason,
                    startTime   = req.startTime,
                    departmentManagerComment = req.departmentManagerComment,
                    leaveRequestID           = req.leaveRequestID
                };

                requstsList.Add(viewModel);
            }

            return(View(requstsList.AsQueryable()));
        }
Example #3
0
        public ActionResult ProcessRequest(int id)
        {
            LeaveRequestInfo        reqInfo = db.LeaveRequestInfo.Find(id);
            LeaveRequestDescription reqDes  = EmployeeLeaveRequestViewModelsController.getLatestDescription(reqInfo, db);
            DepartmentManagerLeaveRequestViewModel viewModel = new DepartmentManagerLeaveRequestViewModel()
            {
                AllDayEvent             = reqDes.AllDayEvent,
                DepartmentManager       = reqDes.DepartmentManager,
                DepartmentManagerStatus = reqDes.DepartmentManagerStatus,
                Employee    = reqInfo.Employee,
                EndTime     = reqDes.EndTime,
                Description = reqDes.Description,
                LeaveReason = reqDes.LeaveReason,
                StartTime   = reqDes.StartTime,
                DepartmentManagerComment = reqDes.DepartmentManagerComment,
                LeaveRequestID           = reqInfo.LeaveRequestInfoID
            };

            ViewBag.departmentManagerStatusID = new SelectList(db.RequestStatus, "requestStatusID", "requestStatusName", GetRequestStatusByName(reqDes.DepartmentManagerStatus.RequestStatusName).RequestStatusID);
            ViewData["employeeName"]          = reqInfo.Employee.EmployeeName;
            ViewData["startTime"]             = reqDes.StartTime;
            ViewData["endTime"]     = reqDes.EndTime;
            ViewData["allDayEvent"] = reqDes.AllDayEvent;


            return(View("DepartmentManagerProcessRequest", viewModel));
        }
Example #4
0
        private List <DepartmentManagerLeaveRequestViewModel> mapLRToDepManViewModel(Dictionary <LeaveRequestInfo, LeaveRequestDescription> leaveRequests)
        {
            List <DepartmentManagerLeaveRequestViewModel> viewModelList = new List <DepartmentManagerLeaveRequestViewModel>();

            foreach (KeyValuePair <LeaveRequestInfo, LeaveRequestDescription> pair in leaveRequests)
            {
                LeaveRequestInfo        lri = pair.Key;
                LeaveRequestDescription lrd = pair.Value;

                DepartmentManagerLeaveRequestViewModel viewModel = new DepartmentManagerLeaveRequestViewModel()
                {
                    AllDayEvent             = lrd.AllDayEvent,
                    DepartmentManager       = lrd.DepartmentManager,
                    DepartmentManagerStatus = lrd.DepartmentManagerStatus,
                    Employee    = lri.Employee,
                    EndTime     = lrd.EndTime,
                    Description = lrd.Description,
                    LeaveReason = lrd.LeaveReason,
                    StartTime   = lrd.StartTime,
                    DepartmentManagerComment = lrd.DepartmentManagerComment,
                    LeaveRequestID           = lri.LeaveRequestInfoID
                };

                viewModelList.Add(viewModel);
            }

            return(viewModelList);
        }
Example #5
0
        public ActionResult ProcessRequest([Bind(Include = "leaveRequestID,departmentManagerComment,departmentManagerStatusID")] DepartmentManagerLeaveRequestViewModel departmentManagerLeaveRequestViewModel)
        {
            if (ModelState.IsValid)
            {
                LeaveRequestInfo        requestToUpdate = db.LeaveRequestInfo.Find(departmentManagerLeaveRequestViewModel.LeaveRequestID);
                LeaveRequestDescription descToUpdate    = EmployeeLeaveRequestViewModelsController.getLatestDescription(requestToUpdate, db);
                descToUpdate.DepartmentManagerComment = departmentManagerLeaveRequestViewModel.DepartmentManagerComment;
                descToUpdate.DepartmentManagerStatus  = db.RequestStatus.Find(departmentManagerLeaveRequestViewModel.DepartmentManagerStatusID);
                db.SaveChanges();

                if (!descToUpdate.DepartmentManagerStatus.RequestStatusName.Equals("Pending"))
                {
                    sendMailToEmployee(requestToUpdate.Employee.EmployeeID);
                }
                return(RedirectToAction("Index"));
            }

            return(View());
        }
        public ActionResult ProcessRequest([Bind(Include = "leaveRequestID,departmentManagerComment,departmentManagerStatusID")] DepartmentManagerLeaveRequestViewModel departmentManagerLeaveRequestViewModel)
        {
            if (ModelState.IsValid)
            {
                var requestToUpdate = db.LeaveRequests.Find(departmentManagerLeaveRequestViewModel.leaveRequestID);
                requestToUpdate.departmentManagerComment = departmentManagerLeaveRequestViewModel.departmentManagerComment;
                requestToUpdate.departmentManagerStatus  = db.RequestStatus.Find(departmentManagerLeaveRequestViewModel.departmentManagerStatusID);

                db.SaveChanges();


                if (!requestToUpdate.departmentManagerStatus.requestStatusName.Equals("Pending"))
                {
                    sendMailToEmployee(db.LeaveRequests.Find(requestToUpdate.leaveRequestID).employee.employeeID);
                }


                return(RedirectToAction("Index"));
            }

            return(View());
        }