public async Task <IActionResult> Edit(Guid id, [Bind("LeaveRequestId,LeaveTypeId,From,To,Total,ReasonForAbsence,EmergencyContact,EmergencyContactName,EmergencyContactRS,RequesterId,RequestedDate,Status")] LeaveRequestEditModel editModel) { var leaveRequest = _context.LeaveRequest.SingleOrDefault(l => l.LeaveRequestId == id); if (leaveRequest == null) { return(NotFound()); } if (ModelState.IsValid) { try { leaveRequest.LeaveRequestId = editModel.LeaveRequestId; leaveRequest.LeaveTypeId = editModel.LeaveTypeId; leaveRequest.FromTimeOff = editModel.From; leaveRequest.ToTimeOff = editModel.To; leaveRequest.TotalTimeOff = Convert.ToDecimal(utilities.CalculateHolidays(leaveRequest.FromTimeOff, leaveRequest.ToTimeOff)); leaveRequest.ReasonForAbsence = editModel.ReasonForAbsence; leaveRequest.EmergencyContact = editModel.EmergencyContact; leaveRequest.EmergencyContactName = editModel.EmergencyContactName; leaveRequest.EmergencyContactRS = editModel.EmergencyContactRS; leaveRequest.RequesterId = editModel.RequesterId; leaveRequest.RequestedDate = DateTime.Now; _context.Update(leaveRequest); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LeaveRequestExists(leaveRequest.LeaveRequestId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(leaveRequest)); }
// GET: LeaveRequests/Edit/5 public async Task <IActionResult> Edit(Guid?id) { if (id == null) { return(NotFound()); } var leaveRequest = await _context.LeaveRequest.FindAsync(id); if (leaveRequest == null) { return(NotFound()); } var leaveRequestEdit = new LeaveRequestEditModel() { LeaveRequestId = leaveRequest.LeaveRequestId, LeaveTypeId = leaveRequest.LeaveTypeId, From = leaveRequest.FromTimeOff, To = leaveRequest.ToTimeOff, Total = leaveRequest.TotalTimeOff, ReasonForAbsence = leaveRequest.ReasonForAbsence, EmergencyContact = leaveRequest.EmergencyContact, EmergencyContactName = leaveRequest.EmergencyContactName, EmergencyContactRS = leaveRequest.EmergencyContactRS, RequesterId = leaveRequest.RequesterId, RequestedDate = leaveRequest.RequestedDate, Status = leaveRequest.Status }; var reqId = _context.Employee.SingleOrDefault(e => e.Email == _email).EmployeeId; var role = utilities.GetRoleById(reqId); ViewBag.Role = role; ViewBag.Name = _context.Employee.SingleOrDefault(e => e.Email == _email).FirstName; ViewBag.Requester = _context.Employee.Where(e => e.EmployeeId == leaveRequestEdit.RequesterId).ToList(); ViewBag.LeaveTypes = _context.LeaveType.ToList(); return(View(leaveRequestEdit)); }