예제 #1
0
        // [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));
        }
예제 #2
0
        //[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));
        }