public async Task<ActionResult> LocationReport(ReportPresenter reportPresenter, string pageNumber) { reportPresenter.LocationSearchParameters = SessionData.Instance.LocationReportSearchParameters != null && !string.IsNullOrEmpty(pageNumber) ? SessionData.Instance.LocationReportSearchParameters : reportPresenter.LocationSearchParameters; if (reportPresenter != null && reportPresenter.LocationSearchParameters != null) { reportPresenter.LocationSearchParameters.ClearanceStatus = reportPresenter.LocationSearchParameters.ClearanceStatus == ZeroConst ? string.Empty : reportPresenter.LocationSearchParameters.ClearanceStatus; reportPresenter.LocationSearchParameters.PageNumber = (!string.IsNullOrEmpty(pageNumber) && !pageNumber.Equals(UndefinedConstant)) ? (Convert.ToInt32(pageNumber) > 0 ? Convert.ToInt32(pageNumber) / ApplicationSettings.MaxPageSize : 1) : 1; reportPresenter.LocationSearchParameters.PageSize = SessionData.Instance.PagingNumberOfRecords; if (!string.IsNullOrEmpty(reportPresenter.LocationSearchParameters.SearchName)) { if (reportPresenter.LocationSearchParameters.SearchName.Contains(Comma)) { var name = reportPresenter.LocationSearchParameters.SearchName.Trim().Split(Comma); reportPresenter.LocationSearchParameters.LastName = name[0]; reportPresenter.LocationSearchParameters.FirstName = name[1].Trim(); } else { reportPresenter.LocationSearchParameters.LastName = reportPresenter.LocationSearchParameters.SearchName.Trim(); } } if (reportPresenter.LocationSearchParameters.VoyageId == null) { var voyage = reportPresenter.ActiveVoyages.OrderByDescending(d => d.EmbarkDate).FirstOrDefault(item => item.IsActive); reportPresenter.LocationSearchParameters.VoyageId = voyage != null ? voyage.VoyageId : string.Empty; } if (reportPresenter.LocationSearchParameters.IsMovementActivity && !string.IsNullOrWhiteSpace(reportPresenter.LocationSearchParameters.MovementActivityStartDate) && !string.IsNullOrWhiteSpace(reportPresenter.LocationSearchParameters.MovementActivityEndDate)) { reportPresenter.LocationSearchParameters.MovementActivityStartDate = Convert.ToDateTime(reportPresenter.LocationSearchParameters.MovementActivityStartDate).ToString(this.ApplicationSettings.ShipDateTimeFormat, CultureInfo.InvariantCulture); reportPresenter.LocationSearchParameters.MovementActivityEndDate = Convert.ToDateTime(reportPresenter.LocationSearchParameters.MovementActivityEndDate).ToString(this.ApplicationSettings.ShipDateTimeFormat, CultureInfo.InvariantCulture); } var locations = await this.reportManager.RetrieveLocationReportAsync(reportPresenter.LocationSearchParameters); if (locations.Items.Count > 0) { locations.AssignItems(locations.Items.Select(item => { item.MediaItemAddress = !string.IsNullOrEmpty(item.MediaItemAddress) ? item.MediaItemAddress + AuthConst + reportPresenter.AuthenticationToken + ImageSizeConst + ThumbnailConst : DefaultThumbnailImage; return item; }).ToList()); reportPresenter.AssignLocationSearchResult(locations); reportPresenter.TotalRecordCount = locations.TotalResults; } reportPresenter.NoRecordFound = locations.Items.Count <= 0; SessionData.Instance.AssignLocationData(reportPresenter.LocationSearchParameters); } SetActivePage(reportPresenter, LocationReportView); SetOtherFilterOption(reportPresenter); return this.PartialView(LocationPartialView, reportPresenter); }
/// <summary> /// Locations the report print. /// </summary> /// <returns>The Task</returns> public async Task<ActionResult> LocationReportPrint() { var reportPresenter = new ReportPresenter(); var searchFilter = new LocationReportSearchParameters(); searchFilter = SessionData.Instance.LocationReportSearchParameters; searchFilter.PageSize = 0; searchFilter.PageNumber = 1; var locations = await this.reportManager.RetrieveLocationReportAsync(searchFilter); if (locations != null && locations.Items.Count > 0) { var authenticationToken = await Client.Common.TokenManager.CreateAsync(new CancellationToken(false)); locations.AssignItems(locations.Items.Select(item => { item.MediaItemAddress = !string.IsNullOrEmpty(item.MediaItemAddress) ? item.MediaItemAddress + AuthConst + authenticationToken + ImageSizeConst + ThumbnailConst : DefaultThumbnailImage; return item; }).ToList()); reportPresenter.AssignLocationSearchResult(locations); } return this.View(LocationReportPrintView, reportPresenter); }