public ActionResult ApprouveRequest(int id) { try { var user = _userManager.GetUserAsync(User).Result; var AbsenceRequest = _absenceRequestRepo.GetById(id); var allocation = _absenceAllocationRepository.GetAbsenceAllocationsByStudent(AbsenceRequest.RequestingStudentId).FirstOrDefault(x => x.AbsenceTypeId == AbsenceRequest.AbsenceTypeId); int daysRequested = (int)(AbsenceRequest.EndDate - AbsenceRequest.StartDate).TotalDays; allocation.NumberOfDays -= daysRequested; AbsenceRequest.Approved = true; AbsenceRequest.ApprovedById = user.Id; AbsenceRequest.ActionDate = DateTime.Now; _absenceRequestRepo.Update(AbsenceRequest); _absenceAllocationRepository.Update(allocation); return(RedirectToAction("Index")); } catch (Exception ex) { return(RedirectToAction("Index")); } }
public ActionResult Edit(EditAbsenceAllocationViewModel model) { try { if (!ModelState.IsValid) { return(View(model)); } var record = _absenceAllocationRepository.GetById(model.Id); record.NumberOfDays = model.NumberofDays; var isSuccess = _absenceAllocationRepository.Update(record); if (!isSuccess) { ModelState.AddModelError("", "Something went wrong while saving"); return(View(model)); } return(RedirectToAction(nameof(Details), new { id = model.StudentId })); } catch { return(View()); } }