public ActionResult UpdateStatus(RecruitmentRequestStatusModel request, string filterType, string filterValue, int?page) { try { LoadDropDownItemsForStatusPage(); RecruitmentRequestStatusModel oldReqModel = GetRequestStatusEntries(request.RecruitmentRequestID); if (ModelState.IsValid) { int calTol = request.OfferedPosition + request.JoinedPosition; if (calTol > oldReqModel.OpenPosition) { DisplayWarningMessage("Cheating! Please check the Total open positions and offered/joined positions"); request.TotalPosition = oldReqModel.TotalPosition; request.RequestNo = oldReqModel.RequestNo; request.OpenPosition = oldReqModel.OpenPosition; } else { RecruitmentRequestStatusDto statusEntry = Mapper.Map <RecruitmentRequestStatusModel, RecruitmentRequestStatusDto>(request); reqService.AddRequestStatus(statusEntry); DisplaySuccessMessage($"Status updated successfully"); return(RedirectToAction("List", new { filterType, filterValue, page })); } } } catch (Exception exp) { DisplayLoadErrorMessage(exp); } return(View(request)); }
private RecruitmentRequestStatusModel GetRequestStatusEntries(int?id) { RecruitmentRequestDto req = reqService.GetByID(id.Value); List <RecruitmentRequestStatusDto> statusEntries = reqService.GetStatusEntriesForRequest(id.Value); RecruitmentRequestStatusModel viewModel = new RecruitmentRequestStatusModel { RequestNo = req?.RequestNo, RecruitmentRequestID = id.Value, OpenPosition = req.TotalPosition - req.OfferedCount - req.JoinedCount, OfferedPosition = req.OfferedCount, JoinedPosition = req.JoinedCount, TotalPosition = req.TotalPosition, RequestStatusID = req.OverallStatusID, }; ViewBag.OldStatusEntries = Mapper.Map <List <RecruitmentRequestStatusDto>, List <RecruitmentRequestStatusModel> >(statusEntries); return(viewModel); }
public ActionResult UpdateStatus(int?id, string filterType, string filterValue, int?page) { if (id.HasValue == false) { DisplayWarningMessage("Request ID is missing in your request"); return(RedirectToAction("List", new { filterType, filterValue, page })); } RecruitmentRequestStatusModel viewModel = new RecruitmentRequestStatusModel(); try { LoadDropDownItemsForStatusPage(); viewModel = GetRequestStatusEntries(id); viewModel.OfferedPosition = 0; viewModel.JoinedPosition = 0; } catch (Exception exp) { DisplayLoadErrorMessage(exp); } return(View(viewModel)); }