// [Authorize(Policy = "EditRolePolicy")] public async Task <IActionResult> Edit(string Id) { int decryptedId; int y; if (int.TryParse(Id, out y)) { decryptedId = y; } else { decryptedId = Convert.ToInt32(protector.Unprotect(Id)); } if (decryptedId < 1) { return(RedirectToAction("Index")); } var employees = await employeeService.GetEmployees(); var leaveTyes = await leaveTypeService.GetLeaveTypes(); LeaveRequest leaveRequest = await leaveRequestService.GetLeaveRequest(decryptedId); LeaveRequestEditViewModel model = new LeaveRequestEditViewModel { Id = Id, ApprovalDate = leaveRequest.ApprovalDate, EmployeeId = leaveRequest.EmployeeId, RequestDate = leaveRequest.RequestDate, ApprovedBy = leaveRequest.ApprovedBy, LeaveTypeId = leaveRequest.LeaveTypeId, LeveRequestEncryptedId = Id, EmployeeList = employees, LeaveTypeList = leaveTyes }; return(View(model)); }
//[Authorize(Policy = "EditRolePolicy")] public async Task <IActionResult> Edit(LeaveRequestEditViewModel model) { if (ModelState.IsValid) { int decryptedId; int y; if (int.TryParse(model.Id, out y)) { decryptedId = y; } else { decryptedId = Convert.ToInt32(protector.Unprotect(model.Id)); } LeaveRequest leaveReqiuest = await leaveRequestService.GetLeaveRequest(decryptedId); leaveReqiuest.LeaveTypeId = model.LeaveTypeId; leaveReqiuest.ApprovalDate = model.ApprovalDate; leaveReqiuest.ApprovedBy = model.ApprovedBy; leaveReqiuest.EmployeeId = model.EmployeeId; leaveReqiuest.RequestDate = model.RequestDate; leaveReqiuest.LeveRequestEncryptedId = model.LeveRequestEncryptedId; try { await leaveRequestService.UpdateLeaveRequest(leaveReqiuest); return(RedirectToAction("Index")); } catch (Exception) { ModelState.AddModelError(string.Empty, " Ensure Id, EmployeeId and LeaveTypeId are Valid"); } return(View(model)); } return(View(model)); }