public async Task<ActionResult> ExceptionReport(ReportPresenter reportPresenter, string pageNumber) { reportPresenter.ExceptionSearchParameters = SessionData.Instance.ExceptionReportSearchParameters != null && !string.IsNullOrEmpty(pageNumber) ? SessionData.Instance.ExceptionReportSearchParameters : reportPresenter.ExceptionSearchParameters; if (reportPresenter != null && reportPresenter.ExceptionSearchParameters != null) { reportPresenter.ExceptionSearchParameters.ClearanceStatus = reportPresenter.ExceptionSearchParameters.ClearanceStatus == ZeroConst ? string.Empty : reportPresenter.ExceptionSearchParameters.ClearanceStatus; reportPresenter.ExceptionSearchParameters.PageNumber = (!string.IsNullOrEmpty(pageNumber) && !pageNumber.Equals(UndefinedConstant)) ? (Convert.ToInt32(pageNumber) > 0 ? Convert.ToInt32(pageNumber) / ApplicationSettings.MaxPageSize : 1) : 1; reportPresenter.ExceptionSearchParameters.PageSize = SessionData.Instance.PagingNumberOfRecords; if (!string.IsNullOrEmpty(reportPresenter.ExceptionSearchParameters.SearchName)) { if (reportPresenter.ExceptionSearchParameters.SearchName.Contains(Comma)) { var name = reportPresenter.ExceptionSearchParameters.SearchName.Trim().Split(Comma); reportPresenter.ExceptionSearchParameters.LastName = name[0]; reportPresenter.ExceptionSearchParameters.FirstName = name[1].Trim(); } else { reportPresenter.ExceptionSearchParameters.LastName = reportPresenter.ExceptionSearchParameters.SearchName.Trim(); } } if (reportPresenter.ExceptionSearchParameters.VoyageId == null) { var voyage = reportPresenter.ActiveVoyages.OrderByDescending(d => d.EmbarkDate).FirstOrDefault(item => item.IsActive); reportPresenter.ExceptionSearchParameters.VoyageId = voyage != null ? voyage.VoyageId : string.Empty; } var exceptions = await this.reportManager.RetrieveExceptionReportAsync(reportPresenter.ExceptionSearchParameters); if (exceptions.Items.Count > 0) { reportPresenter.AssignExceptionSearchResult(exceptions); reportPresenter.TotalRecordCount = exceptions.TotalResults; } SessionData.Instance.AssignExceptionData(reportPresenter.ExceptionSearchParameters); reportPresenter.NoRecordFound = exceptions.Items.Count <= 0; } return this.PartialView(ExceptionPartialView, reportPresenter); }
/// <summary> /// Guests the exception report print. /// </summary> /// <returns>The Task</returns> public async Task<ActionResult> GuestExceptionReportPrint() { var reportPresenter = new ReportPresenter(); var searchFilter = new ExceptionReportSearchParameters(); searchFilter = SessionData.Instance.ExceptionReportSearchParameters; searchFilter.PageSize = 0; searchFilter.PageNumber = 1; var exceptions = await this.reportManager.RetrieveExceptionReportAsync(searchFilter); if (exceptions != null && exceptions.Items.Count > 0) { reportPresenter.AssignExceptionSearchResult(exceptions); } return this.View(ExceptionReportPrintView, reportPresenter); }