public ActionResult CreateLeaveRequest(LeaveRequestViewModel leaveRequestInfo) { if (leaveRequestInfo == null) { throw new ArgumentNullException(nameof(leaveRequestInfo)); } //Check Model State if (!ModelState.IsValid) { var model = leaveRequestService.GetLeaveRequestUpdateView(leaveRequestInfo, string.Empty); return(this.View("CreateLeaveRequest", model)); } var processingMessage = leaveRequestService.ProcessLeaveRequestCreate(leaveRequestInfo); if (!string.IsNullOrEmpty(processingMessage)) { var model = leaveRequestService.GetLeaveRequestUpdateView(leaveRequestInfo, processingMessage); return(this.View("CreateLeaveRequest", model)); } var returnMessage = string.Format("You've create a new leave request"); return(Redirect(leaveRequestInfo.URL)); }