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)); }
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()); }