public async Task<ActionResult> UpdateVisitor(string visitorId, string updateType, VisitorPresenter presenter) { ModelState.Clear(); if (presenter != null && !string.IsNullOrEmpty(visitorId)) { if (string.IsNullOrEmpty(updateType)) { await this.UploadVisitorImage(presenter); } var visitor = InsertVisitorData(presenter, updateType); var visitorDetail = await this.visitorManager.UpdateVisitorAsync(visitor, visitorId); return visitorDetail != null ? this.Json(visitorId) : this.Json(false); } return this.Json(false); }
/// <summary> /// Views the visitor. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="visitorId">The visitor identifier.</param> /// <param name="type">The type.</param> /// <returns> /// View Visitor view /// </returns> public async Task<ActionResult> ViewVisitor(VisitorPresenter presenter, string visitorId, string type) { ModelState.Clear(); if (presenter != null && !string.IsNullOrEmpty(visitorId)) { presenter.VisitorDetail = await this.visitorManager.GetVisitorsByIdAsync(visitorId); SessionData.Instance.PersonItemListResult.Clear(); var personItemList = new List<Person>(); var person = new Person { PersonId = presenter.VisitorDetail.VisitorId, PersonalDetail = presenter.VisitorDetail.PersonalDetail, PersonTypeId = ThreeConst }; personItemList.Add(person); SessionData.Instance.AssignPersonSearchResult(personItemList); var alerts = await this.alertManager.ListAlertsAsync(ApplicationIds, visitorId, type); foreach (var alert in alerts.Items) { var addedDate = Convert.ToDateTime(alert.AddedDate, CultureInfo.InvariantCulture); alert.AddedDate = Convert.ToString(BaseController.GenerateLocalDateTime(addedDate), CultureInfo.InvariantCulture); } this.SetPagedRecordsForAlert(presenter, alerts); if (SessionData.Instance.MasterData != null && SessionData.Instance.MasterData.Ship != null && !string.IsNullOrEmpty(SessionData.Instance.MasterData.Ship.Name)) { presenter.ShipName = SessionData.Instance.MasterData.Ship.Name; } } return this.View(presenter); }
/// <summary> /// Edits the visitor. /// </summary> /// <param name="visitorId">The visitor identifier.</param> /// <param name="type">The type.</param> /// <returns> /// Edit Visitor View /// </returns> public async Task<ActionResult> EditVisitor(string visitorId, string type) { var presenter = new VisitorPresenter(); if (!string.IsNullOrEmpty(visitorId)) { presenter = InsertDummyPersonalData(presenter); var saveUtcNow = BaseController.GenerateLocalDateTime(DateTime.UtcNow); ViewBag.dob = saveUtcNow.ToString(ShortDateTimeFormat, CultureInfo.InvariantCulture); ViewBag.startDate = saveUtcNow.ToString(this.ApplicationSettings.ShipDateTimeFormat, CultureInfo.InvariantCulture); ViewBag.expireDate = saveUtcNow.AddHours(1).ToString(this.ApplicationSettings.ShipDateTimeFormat, CultureInfo.InvariantCulture); presenter.VisitorDetail = await this.visitorManager.GetVisitorsByIdAsync(visitorId); var alerts = await this.alertManager.ListAlertsAsync(ApplicationIds, visitorId, type); this.SetPagedRecordsForAlert(presenter, alerts); if (SessionData.Instance.MasterData != null && SessionData.Instance.MasterData.Ship != null && !string.IsNullOrEmpty(SessionData.Instance.MasterData.Ship.Name)) { presenter.ShipName = SessionData.Instance.MasterData.Ship.Name; } } return this.View(presenter); }
/// <summary> /// Extracts the first paged records. /// </summary> /// <param name="presenter">The presenter.</param> private void ExtractOnLoadPagedRecords(VisitorPresenter presenter) { var maxPaging = DefaultPageSize > SessionData.Instance.VisitorItemListResult.Items.Count ? SessionData.Instance.VisitorItemListResult.Items.Count : DefaultPageSize; var pagingResult = SessionData.Instance.VisitorItemListResult.Items.Skip(0).Take(maxPaging - 0).ToList(); if (pagingResult.Count > 0) { var pagingItems = new ListResult<Visitor>(); pagingItems.AssignItems(pagingResult); presenter.AssignVisitorSearchResult(pagingItems); } }
/// <summary> /// Searches the visitor list. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="searchType">Type of the search.</param> /// <returns> /// The Action Result. /// </returns> public async Task<ActionResult> SearchVisitorList(VisitorPresenter presenter, string searchType) { if (presenter != null) { var searchFilter = new SearchFilters(); SetSearchFilterByType(presenter, searchType, searchFilter); searchFilter.StartDate = presenter.StartDate; searchFilter.EndDate = presenter.EndDate; var visitorType = SessionData.Instance.MasterData.VisitorTypes.FirstOrDefault(item => item.VisitorTypeId.Equals(presenter.VisitorTypeId, StringComparison.InvariantCultureIgnoreCase)); var visitorPurpose = SessionData.Instance.MasterData.VisitPurposes.FirstOrDefault(item => item.VisitPurposeId.Equals(presenter.Visit.VisitPurposeId, StringComparison.InvariantCultureIgnoreCase)); searchFilter.Citizenship = presenter.PersonalDetail.CitizenshipCountryId; searchFilter.VisitPurpose = !string.IsNullOrEmpty(presenter.Visit.VisitPurposeId) && visitorPurpose != null ? visitorPurpose.VisitPurposeId : string.Empty; searchFilter.VisitorType = !string.IsNullOrEmpty(presenter.VisitorTypeId) && visitorType != null ? visitorType.VisitorTypeId : string.Empty; searchFilter.PageNumber = 1; searchFilter.MaxResult = this.ApplicationSettings.MaxPageSize; var visitors = new ListResult<Visitor>(); if (!string.IsNullOrEmpty(presenter.PersonalDetail.CitizenshipCountryId)) { var selectedCitizenShip = presenter.PersonalDetail.CitizenshipCountryId.Split(CommaSeparatorChar).ToList(); searchFilter.Citizenship = selectedCitizenShip.Count != 0 && selectedCitizenShip.Count == SessionData.Instance.MasterData.Countries.Count ? string.Empty : presenter.PersonalDetail.CitizenshipCountryId; visitors = await this.visitorManager.GetVisitorsAsync(searchFilter); } if (visitors != null && visitors.Items != null && visitors.Items.Count > 0) { SessionData.Instance.AssignVisitorSearchResult(visitors); this.ExtractOnLoadPagedRecords(presenter); } } return this.PartialView("_ListVisitor", presenter); }
/// <summary> /// Sets the type of the search filter by. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="searchType">Type of the search.</param> /// <param name="searchFilter">The search filter.</param> private static void SetSearchFilterByType(VisitorPresenter presenter, string searchType, SearchFilters searchFilter) { if (!string.IsNullOrEmpty(searchType)) { switch (searchType) { case PassportNo: searchFilter.DocumentNumber = presenter.SearchText; searchFilter.DocumentTypeId = OneConst; break; case LastName: searchFilter.LastNameContains = presenter.SearchText; break; case Birthdate: searchFilter.Birthdate = presenter.SearchText; break; default: searchFilter.LastNameContains = presenter.SearchText; break; } } }
/// <summary> /// Inserts the visitor data. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="updateType">Type of the update.</param> /// <returns> /// Visitor data /// </returns> private static Visitor InsertVisitorData(VisitorPresenter presenter, string updateType) { if (presenter != null) { string shipId = string.Empty; if (SessionData.Instance.MasterData != null && SessionData.Instance.MasterData.Ship != null && !string.IsNullOrEmpty(SessionData.Instance.MasterData.Ship.ShipId)) { shipId = SessionData.Instance.MasterData.Ship.ShipId; } var visits = new VisitsCollection(); visits.Add(new Visit { ShipId = shipId, EndDate = presenter.Visit.EndDate, StartDate = presenter.Visit.StartDate, VisitPurposeId = presenter.Visit.VisitPurposeId, VisitId = presenter.Visit.VisitId }); var identifications = new IdentificationCollection(); if (string.IsNullOrEmpty(presenter.Identification.DocumentTypeId) && string.IsNullOrEmpty(presenter.Identification.Number)) { identifications = null; } else { identifications.Add(new Identification { DocumentTypeId = presenter.Identification.DocumentTypeId, Number = !string.IsNullOrEmpty(presenter.Identification.Number) ? presenter.Identification.Number : string.Empty, IdentificationId = presenter.Identification.IdentificationId }); } var visitor = new Visitor { PersonalDetail = new PersonalDetail { Title = presenter.PersonalDetail.Title, FirstName = presenter.PersonalDetail.FirstName, LastName = presenter.PersonalDetail.LastName, Gender = presenter.PersonalDetail.Gender, MaritalStatus = presenter.PersonalDetail.MaritalStatus, Birthdate = presenter.PersonalDetail.Birthdate, CitizenshipCountryId = presenter.PersonalDetail.CitizenshipCountryId, DepartmentId = presenter.PersonalDetail.DepartmentId, DepartmentPOC = presenter.PersonalDetail.DepartmentPOC, Note = presenter.PersonalDetail.Note }, Visits = visits, Identifications = identifications, VisitorTypeId = presenter.VisitorTypeId, CompanyContactNumber = presenter.CompanyContactNumber, CompanyName = presenter.CompanyName }; if (!string.IsNullOrEmpty(updateType) && updateType.Equals(DeletePhoto, StringComparison.OrdinalIgnoreCase)) { visitor.SecurityPhotoAddress = string.Empty; } else { visitor.SecurityPhotoAddress = presenter.SecurityPhotoAddress; } return visitor; } return null; }
/// <summary> /// Search Todays the visitor. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="searchType">Type of the search.</param> /// <returns>Todays Visits List </returns> public async Task<ActionResult> SearchTodaysVisitor(VisitorPresenter presenter, string searchType) { if (presenter != null) { var searchFilter = new SearchFilters(); SetSearchFilterByType(presenter, searchType, searchFilter); var visitors = new ListResult<Visitor>(); var visitorPurpose = SessionData.Instance.MasterData.VisitPurposes.FirstOrDefault(item => item.VisitPurposeId.Equals(presenter.Visit.VisitPurposeId, StringComparison.InvariantCultureIgnoreCase)); var vistorType = SessionData.Instance.MasterData.VisitorTypes.FirstOrDefault(item => item.VisitorTypeId.Equals(presenter.VisitorTypeId, StringComparison.InvariantCultureIgnoreCase)); searchFilter.ShipTime = Convert.ToString(BaseController.GenerateLocalDateTime(DateTime.UtcNow), CultureInfo.InvariantCulture); searchFilter.VisitPurpose = presenter.Visit != null && !string.IsNullOrEmpty(presenter.Visit.VisitPurposeId) && visitorPurpose != null ? visitorPurpose.VisitPurposeId : string.Empty; searchFilter.VisitorType = !string.IsNullOrEmpty(presenter.VisitorTypeId) && vistorType != null ? vistorType.VisitorTypeId : string.Empty; searchFilter.Status = !string.IsNullOrEmpty(presenter.VisitorStatus.VisitorStatusId) ? presenter.VisitorStatus.VisitorStatusId.Equals(OnboardVisitorStatusValue) ? true : presenter.VisitorStatus.VisitorStatusId.Equals(OffboardVisitorStatusValue) ? false : default(bool?) : default(bool?); searchFilter.PageNumber = 1; searchFilter.MaxResult = searchFilter.Status.HasValue ? int.MaxValue : this.ApplicationSettings.MaxPageSize; if (presenter.VisitorStatus.VisitorStatusId.Equals(OnboardVisitorStatusValue)) { SessionData.Instance.VisitorStatus = OnboardVisitorStatus; } else if (presenter.VisitorStatus.VisitorStatusId.Equals(OffboardVisitorStatusValue)) { SessionData.Instance.VisitorStatus = OffboardVisitorStatus; } else { SessionData.Instance.VisitorStatus = ExpectedVisitorStatus; } if (!string.IsNullOrEmpty(presenter.PersonalDetail.CitizenshipCountryId)) { var selectedCitizenShip = presenter.PersonalDetail.CitizenshipCountryId.Split(CommaSeparatorChar).ToList(); searchFilter.Citizenship = selectedCitizenShip.Count != 0 && selectedCitizenShip.Count == SessionData.Instance.MasterData.Countries.Count ? string.Empty : presenter.PersonalDetail.CitizenshipCountryId; visitors = await this.visitorManager.GetVisitorsAsync(searchFilter); } if (visitors != null && visitors.Items != null && visitors.Items.Count > 0) { SessionData.Instance.VisitorItemListResult.Items.Clear(); SessionData.Instance.AssignVisitorSearchResult(visitors); this.ExtractOnLoadPagedRecords(presenter); } } return this.PartialView(TodaysVisitListPartial, presenter); }
/// <summary> /// Adds the visitor. /// </summary> /// <returns> /// Add Visitor View /// </returns> public async Task<ActionResult> AddVisitor() { var visitorPresenter = new VisitorPresenter(); BaseController.GetAboutUsInformation(visitorPresenter); visitorPresenter = InsertDummyPersonalData(visitorPresenter); var saveUtcNow = BaseController.GenerateLocalDateTime(DateTime.UtcNow); ViewBag.dob = saveUtcNow.ToString(ShortDateTimeFormat, CultureInfo.InvariantCulture); ViewBag.startDate = saveUtcNow.ToString(this.ApplicationSettings.DateFormat, CultureInfo.InvariantCulture); ViewBag.expireDate = saveUtcNow.AddHours(1).ToString(this.ApplicationSettings.DateFormat, CultureInfo.InvariantCulture); if (SessionData.Instance.MasterData != null && SessionData.Instance.MasterData.Ship != null && !string.IsNullOrEmpty(SessionData.Instance.MasterData.Ship.Name)) { visitorPresenter.ShipName = SessionData.Instance.MasterData.Ship.Name; } securityPhotoUploadAddress = await this.visitorManager.RetrieveVisitorUploadUrlAsync(); return this.View(visitorPresenter); }
/// <summary> /// Retrieves the message or alert view. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="pagingListResult">The paging list result.</param> /// <param name="pagingResult">The paging result.</param> /// <param name="isMessage">if set to <c>true</c> [is message].</param> /// <returns>The Message or Alert View.</returns> private ActionResult RetrieveMessageOrAlertView(VisitorPresenter presenter, out ListResult<Alert> pagingListResult, List<Alert> pagingResult, bool isMessage) { pagingListResult = new ListResult<Alert>(); pagingListResult.AssignItems(pagingResult); if (isMessage) { presenter.AssignMessageResult(pagingListResult); return this.PartialView(VisitorMessages, presenter); } presenter.AssignAlertsResult(pagingListResult); return this.PartialView(VisitorAlerts, presenter); }
/// <summary> /// Indexes this instance. /// </summary> /// <param name="status">The status.</param> /// <returns> /// The view /// </returns> public async Task<ActionResult> Index(string status) { var presenter = new VisitorPresenter(); BaseController.GetAboutUsInformation(presenter); var shipTime = BaseController.GenerateLocalDateTime(DateTime.UtcNow); var searchFilter = new SearchFilters(); searchFilter.ShipTime = shipTime.ToString(CultureInfo.InvariantCulture); searchFilter.PageNumber = 1; if (!string.IsNullOrWhiteSpace(status)) { ViewBag.VisitorStatus = status; SessionData.Instance.VisitorStatus = status; if (status.Equals(OnboardVisitorStatus)) { searchFilter.Status = true; searchFilter.MaxResult = int.MaxValue; } else if (status.Equals(OffboardVisitorStatus)) { searchFilter.Status = false; searchFilter.MaxResult = int.MaxValue; } else { searchFilter.MaxResult = this.ApplicationSettings.MaxPageSize; } } else { ViewBag.VisitorStatus = ExpectedVisitorStatus; SessionData.Instance.VisitorStatus = ExpectedVisitorStatus; searchFilter.MaxResult = this.ApplicationSettings.MaxPageSize; } var todaysVisitors = await this.visitorManager.GetVisitorsAsync(searchFilter); if (todaysVisitors != null) { SessionData.Instance.VisitorItemListResult.Items.Clear(); SessionData.Instance.AssignVisitorSearchResult(todaysVisitors); this.ExtractOnLoadPagedRecords(presenter); } securityPhotoUploadAddress = await this.visitorManager.RetrieveVisitorUploadUrlAsync(); presenter = InsertDummyPersonalData(presenter); return this.View(presenter); }
/// <summary> /// Uploads the visitor image. /// </summary> /// <param name="presenter">The presenter.</param> /// <returns>Visitor Presenter</returns> private async Task<VisitorPresenter> UploadVisitorImage(VisitorPresenter presenter) { if (!string.IsNullOrEmpty(presenter.SecurityPhotoData)) { var url = securityPhotoUploadAddress.VisitorSecurityPhotoUploadAddress; byte[] data = Convert.FromBase64String(presenter.SecurityPhotoData); var address = await this.visitorManager.RetrieveSecurityPhotoAddressUrlAsync(url, data, presenter.SecurityPhotoFile); if (!string.IsNullOrEmpty(address)) { presenter.SecurityPhotoAddress = address; } } return presenter; }
/// <summary> /// Sets the paged records for alert. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="alerts">The alerts.</param> private void SetPagedRecordsForAlert(VisitorPresenter presenter, ListResult<Alert> alerts) { var visitorAlerts = alerts.Items.Where(alert => !alert.IsMessage).ToList(); var visitorAlertsResult = new ListResult<Alert>(); visitorAlertsResult.AssignItems(visitorAlerts); SessionData.Instance.AssignAlertSearchResult(visitorAlertsResult); this.ExtractAlertPagedRecords(presenter); var visitorMessages = alerts.Items.Where(alert => alert.IsMessage).ToList(); var visitorMessagesResult = new ListResult<Alert>(); visitorMessagesResult.AssignItems(visitorMessages); SessionData.Instance.AssignMessageSearchResult(visitorMessagesResult); this.ExtractMessagePagedRecords(presenter); }
/// <summary> /// Extracts the message paged records. /// </summary> /// <param name="presenter">The presenter.</param> private void ExtractMessagePagedRecords(VisitorPresenter presenter) { var maxPaging = DefaultPageSize > SessionData.Instance.MessageItems.Items.Count ? SessionData.Instance.MessageItems.Items.Count : DefaultPageSize; var pagingResult = SessionData.Instance.MessageItems.Items.Skip(0).Take(maxPaging - 0).ToList(); if (pagingResult.Count > 0) { var pagingItems = new ListResult<Alert>(); pagingItems.AssignItems(pagingResult); presenter.AssignMessageResult(pagingItems); } }
/// <summary> /// Deletes the visitor message and alert. /// </summary> /// <param name="alertId">The alert identifier.</param> /// <param name="personId">The person identifier.</param> /// <param name="type">The type.</param> /// <param name="presenter">The presenter.</param> /// <returns> /// The Action Result. /// </returns> public async Task<ActionResult> DeleteVisitorMessageAndAlert(string alertId, string personId, string type, VisitorPresenter presenter) { try { await this.visitorManager.DeleteVisitorMessageAndAlertAsync(alertId, personId, type); if (presenter.VisitorDetail != null) { var alerts = await this.alertManager.ListAlertsAsync(ApplicationIds, presenter.VisitorDetail.VisitorId, type); this.SetPagedRecordsForAlert(presenter, alerts); if (type == OneConst) { return this.PartialView(VisitorAlerts, presenter); } if (type == TwoConst) { return this.PartialView(VisitorMessages, presenter); } } return this.Json(true); } catch (Exception ex) { LogManager.Write(ex); return this.Json(false); } }
public async Task<ActionResult> AddVisitor(VisitorPresenter presenter) { if (presenter != null) { var visitorPresenter = await this.UploadVisitorImage(presenter); var visitor = InsertVisitorData(visitorPresenter, string.Empty); var visitorDetail = await this.visitorManager.CreateVisitorAsync(visitor); return visitorDetail != null ? this.Json(true) : this.Json(false); } return this.Json(false); }
public async Task<ActionResult> ImportVisitor(HttpPostedFileBase uploadFile) { IExcelDataReader excelReader = null; var visitorPresenter = new VisitorPresenter(); var visitorImportDetail = new Collection<VisitorImport>(); if (uploadFile != null && uploadFile.ContentLength > 0) { ImportDetails importedFileData = DataFormattingAndValidations(uploadFile, ref excelReader, visitorPresenter); try { visitorImportDetail = await this.visitorManager.ImportVisitors(importedFileData); } catch (Exception ex) { if (!string.IsNullOrEmpty(ex.Message)) { visitorPresenter.IsImportFailed = true; if (string.IsNullOrEmpty(importedFileData.RejectedReason)) { visitorPresenter.ImportException = string.Format(CultureInfo.CurrentCulture, "{0}.{1}.", Resource.VisitorImportFailed, Resource.TryAgain); } else { visitorPresenter.ImportException = importedFileData.RejectedReason; } } } visitorPresenter.AssignImportedVisitors(visitorImportDetail); } return this.View(visitorPresenter); }
/// <summary> /// Visitors the list. /// </summary> /// <param name="presenter">The presenter.</param> /// <returns> /// Visitor List view /// </returns> public async Task<ActionResult> VisitorList(VisitorPresenter presenter) { ModelState.Clear(); var searchFilter = new SearchFilters(); searchFilter.PageNumber = 1; searchFilter.MaxResult = this.ApplicationSettings.MaxPageSize; var visitorList = await this.visitorManager.GetVisitorsAsync(searchFilter); if (visitorList != null) { SessionData.Instance.AssignVisitorSearchResult(visitorList); this.ExtractOnLoadPagedRecords(presenter); } return this.View(presenter); }
/// <summary> /// Data the formatting and validations. /// </summary> /// <param name="uploadFile">The upload file.</param> /// <param name="excelReader">The excel reader.</param> /// <param name="visitorPresenter">The visitor presenter.</param> /// <returns> /// Import Details for Data provided. /// </returns> private static ImportDetails DataFormattingAndValidations(HttpPostedFileBase uploadFile, ref IExcelDataReader excelReader, VisitorPresenter visitorPresenter) { var importedFileData = new ImportDetails { FileName = uploadFile.FileName, FileModifiedDate = BaseController.GenerateLocalDateTime(DateTime.UtcNow) }; try { if (uploadFile.FileName.EndsWith(ExcelLatestExtension, StringComparison.OrdinalIgnoreCase)) { excelReader = ExcelReaderFactory.CreateOpenXmlReader(uploadFile.InputStream); } else if (uploadFile.FileName.EndsWith(ExcelNormalExtension, StringComparison.OrdinalIgnoreCase)) { excelReader = ExcelReaderFactory.CreateBinaryReader(uploadFile.InputStream); } using (var result = excelReader.AsDataSet()) { result.Locale = CultureInfo.CurrentCulture; importedFileData = ConvertToCSV(result, importedFileData); excelReader.Close(); } if (string.IsNullOrEmpty(importedFileData.VisitorDetail)) { visitorPresenter.IsImportFailed = true; visitorPresenter.ImportException = string.Format(CultureInfo.CurrentCulture, "{0}{1}.", Resource.ShipNameNotCorrect, SessionData.Instance.MasterData.Ship.Name); } } catch (Exception ex) { if (!string.IsNullOrEmpty(ex.Message)) { visitorPresenter.IsImportFailed = true; visitorPresenter.ImportException = Resource.VisitorImportException; } } importedFileData.RejectedReason = visitorPresenter.ImportException; return importedFileData; }
/// <summary> /// Paging the specified presenter. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="pageNumber">The page number.</param> /// <param name="partialView">The partial view.</param> /// <param name="searchType">Type of the search.</param> /// <returns> /// The Action Result. /// </returns> public async Task<ActionResult> Paging(VisitorPresenter presenter, string pageNumber, string partialView, string searchType) { if (presenter != null && !string.IsNullOrEmpty(pageNumber) && !pageNumber.Equals(UndefinedConst) && !string.IsNullOrEmpty(partialView)) { var searchFilter = new SearchFilters(); var pagingListResult = new ListResult<Alert>(); if (!string.IsNullOrEmpty(partialView) && string.Equals(partialView, VisitorMessages, StringComparison.OrdinalIgnoreCase)) { var messages = SessionData.Instance.MessageItems.Items.ToList(); var pagingResultMessages = GetPagedResult(pageNumber, messages); if (pagingResultMessages != null && pagingResultMessages.Count > 0) { return this.RetrieveMessageOrAlertView(presenter, out pagingListResult, pagingResultMessages, true); } } else if (!string.IsNullOrEmpty(partialView) && string.Equals(partialView, VisitorAlerts, StringComparison.OrdinalIgnoreCase)) { var alerts = SessionData.Instance.AlertItems.Items.ToList(); var pagingResultAlerts = GetPagedResult(pageNumber, alerts); if (pagingResultAlerts != null && pagingResultAlerts.Count > 0) { return this.RetrieveMessageOrAlertView(presenter, out pagingListResult, pagingResultAlerts, false); } } else { if (!partialView.Equals(TodaysVisitPartialView, StringComparison.InvariantCultureIgnoreCase) && (presenter.VisitorStatus.VisitorStatusId.Equals(OnboardVisitorStatusValue) || presenter.VisitorStatus.VisitorStatusId.Equals(OffboardVisitorStatusValue))) { var visitorList = SessionData.Instance.VisitorItemListResult.Items.ToList(); var pagingResult = GetPagedResult(Convert.ToString(pageNumber), visitorList); if (pagingResult != null && pagingResult.Count > 0) { var visitorListResult = new ListResult<Visitor>(); visitorListResult.AssignItems(pagingResult); presenter.AssignVisitorSearchResult(visitorListResult); } } else { if (!partialView.Equals(TodaysVisitPartialView, StringComparison.InvariantCultureIgnoreCase)) { searchFilter.ShipTime = BaseController.GenerateLocalDateTime(DateTime.UtcNow).ToString("yyyy-MM-ddTHH:mm:ss"); } var pagingPageNumber = Convert.ToInt32(pageNumber) > 0 ? Convert.ToInt32(pageNumber) / ApplicationSettings.MaxPageSize : 1; SetSearchFilterByType(presenter, searchType, searchFilter); var visitorPurpose = SessionData.Instance.MasterData.VisitPurposes.FirstOrDefault(item => item.VisitPurposeId.Equals(presenter.Visit.VisitPurposeId, StringComparison.InvariantCultureIgnoreCase)); var vistorType = SessionData.Instance.MasterData.VisitorTypes.FirstOrDefault(item => item.VisitorTypeId.Equals(presenter.VisitorTypeId, StringComparison.InvariantCultureIgnoreCase)); if (!string.IsNullOrEmpty(presenter.PersonalDetail.CitizenshipCountryId)) { var selectedCitizenShip = presenter.PersonalDetail.CitizenshipCountryId.Split(CommaSeparatorChar).ToList(); searchFilter.Citizenship = selectedCitizenShip.Count != 0 && selectedCitizenShip.Count == SessionData.Instance.MasterData.Countries.Count ? string.Empty : presenter.PersonalDetail.CitizenshipCountryId; } searchFilter.VisitPurpose = presenter.Visit != null && !string.IsNullOrEmpty(presenter.Visit.VisitPurposeId) && visitorPurpose != null ? visitorPurpose.VisitPurposeId : string.Empty; searchFilter.VisitorType = !string.IsNullOrEmpty(presenter.VisitorTypeId) && vistorType != null ? vistorType.VisitorTypeId : string.Empty; searchFilter.MaxResult = ApplicationSettings.MaxPageSize; searchFilter.PageNumber = pagingPageNumber > 0 ? pagingPageNumber : 1; var visitors = await this.visitorManager.GetVisitorsAsync(searchFilter); presenter.AssignVisitorSearchResult(visitors); } } } return this.PartialView(partialView, presenter); }
/// <summary> /// Inserts the dummy personal data. /// </summary> /// <param name="presenter">The presenter.</param> /// <returns> /// The Visitor Presenter /// </returns> private static VisitorPresenter InsertDummyPersonalData(VisitorPresenter presenter) { presenter.Gender = new List<Gender> { new Gender { Id = "M", Name = "Male" }, new Gender { Id = "F", Name = "Female" } }; presenter.MaritalStatus = new List<string> { "Married", "Single" }; presenter.Title = new List<string> { "Mr.", "Ms.", "Mrs.", "Dr." }; presenter.VisitorStatuses = new List<VisitorStatus> { new VisitorStatus { VisitorStatusId = "0", VisitorStatusName = "All" }, new VisitorStatus { VisitorStatusId = OneConst, VisitorStatusName = "Onboard" }, new VisitorStatus { VisitorStatusId = TwoConst, VisitorStatusName = "Ashore" } }; return presenter; }
/// <summary> /// Sets up visitor presenter data. /// </summary> /// <returns>The visitor Presenter</returns> private static VisitorPresenter SetUpVisitorPresenterData() { var visitorPresenter = new VisitorPresenter { PersonalDetail = new PersonalDetail { Gender = "M", Title = "Mr.", FirstName = string.Empty, LastName = string.Empty, MaritalStatus = "Married", CitizenshipCountryId = "232", DepartmentId = "4", DepartmentPOC = null, VisitorCardId = null, Note = null, PassportNo = null }, VisitorTypeId = "1", SecurityPhotoAddress = null, Visit = new Visit { ShipId = "5", StartDate = DateTime.Now.Date, EndDate = DateTime.Now.AddDays(2).Date, LastOnboardDate = null, LastOffBoardDate = null, VisitPurposeId = "1", VisitId = null }, Identification = new Identification { DocumentTypeId = "119", Number = null, IdentificationId = null }, VisitorStatus = new VisitorStatus { VisitorStatusId = "0", VisitorStatusName = "All" } }; return visitorPresenter; }