private void SetUpData() { this.targetService = new PhotoService(); this.person = new Person(); CrewmemberCollection crewMembers = new CrewmemberCollection(); var personDetail = new PersonalDetail { CitizenshipCountryId = string.Empty, FirstName = string.Empty, LastName = string.Empty, MiddleName = string.Empty, Title = string.Empty, PreferredName = string.Empty, MaritalStatus = string.Empty, Nickname = string.Empty, Occupation = string.Empty, DocumentNumber = string.Empty, Suffix = string.Empty }; crewMembers.Add(new Crewmember { CrewmemberId = string.Empty, CrewmemberTypeId = "1", SecurityPhotoAddress = string.Empty, ChargeId = string.Empty, EmployeeNo = string.Empty, LastEvent = string.Empty, PersonalDetail = personDetail }); this.person.AssignCrewmembers(crewMembers); GuestCollection guests = new GuestCollection(); var checkInDetail = new CheckInDetail { ApplicationId = string.Empty, LocationId = "1", LocationTypeId = "1", MachineName = "Machine", Station = "station", UserId = "user" }; var cruiseDetail = new GuestCruiseDetail { BeaconId = string.Empty, CheckInDetail = checkInDetail, LoyaltyLevelTypeId = "1", ReservationId = "1", Stateroom = stateroom, ReservationStatusId = "0000089", StateroomCategoryTypeId = "3" }; var guest = new Guest { GuestId = PersonId, PersonalDetail = personDetail, Age = 0, CruiseDetail = cruiseDetail, SecurityPhotoAddress = string.Empty, }; guests.Add(guest); this.person.AssignGuests(guests); PortDebarkAuthorization pda = new PortDebarkAuthorization { PortId = "1", PersonId = "00001", CanDebarkAlone = true, IsActivePort = true, PortOrder = 1 }; DebarkAuthorizedPersonCollection dapCollection = new DebarkAuthorizedPersonCollection(); dapCollection.Add(new DebarkAuthorizedPerson { PersonTypeId = "2", Person = this.FilledPerson(), PersonId = PersonId, PersonType = PersonType.Guest }); pda.AssignDebarkAuthorizedPersons(dapCollection); PortDebarkAuthorizationCollection portDebarkAuthorizations = new PortDebarkAuthorizationCollection(); portDebarkAuthorizations.Add(pda); guest.AssignPortAuthorizations(portDebarkAuthorizations); guests.Add(guest); this.listOfPDA.Add(pda); person.AssignGuests(guests); }
public Order() { CreatedOn = DateTime.UtcNow; OrderLines = new OrderLineCollection(); Courses = new CourseCollection(); Guests = new GuestCollection(); }
public void AddGuest(Guest GuestTilAdd) { if (GuestTilAdd.Guest_No != 0 && GuestTilAdd.name != "" && GuestTilAdd.address != "") { GuestCollection.Add(GuestTilAdd); PersistencyService.SaveGuestAsJsonAsync(GuestTilAdd); } }
public void RemoveGuest(Guest GuestTilRemove) { if (GuestTilRemove != null) { GuestCollection.Remove(GuestTilRemove); PersistencyService.DeleteGuest(GuestTilRemove); } }
/// <summary> /// Function to sort guests. /// </summary> /// <param name="guests">List of guests</param> /// <returns>IEnumerable for Guest</returns> public static GuestCollection Sort(this GuestCollection guests) { var guestCollection = new GuestCollection(); // Todo: isPrimary and orderkey sorting will be done in future var g = guests.OrderByDescending(d => d.PersonalDetail.Age).ThenBy(c => c.PersonalDetail.LastName).ThenBy(s => s.PersonalDetail.FirstName).ToList(); foreach (var guest in g) { guestCollection.Add(guest); } return guestCollection; }
/// <summary> /// Function to retrieve matching guests. /// </summary> /// <param name="guests">List of guests</param> /// <param name="personIdentityList">List of person identities</param> /// <returns>IEnumerable for Guest</returns> public static GuestCollection RetrieveMatchingGuests(this GuestCollection guests, IList<PersonIdentity> personIdentityList) { var guestCollection = new GuestCollection(); var g = from guest in guests join personIdentity in personIdentityList on guest.MapToPersonBase().PersonId equals personIdentity.PersonId where personIdentity.PersonType == PersonType.Guest select guest; foreach (var guest in g) { guestCollection.Add(guest); } return guestCollection; }
public GuestViewModel() { guestCollection = new ObservableCollection <Guest>(); guestCollection = GuestSingleton.Instance.GuestCollection; this.id = GuestCollection.Last <Guest>().Guest_No + 1; guestbookingcollection = new ObservableCollection <GuestBookings>(); guestbookingcollection = GuestSingleton.Instance.Temp_list; Func <bool> test = () => selectedGuest != null; handler = new GuestHandler(this); CreateGuestCommand = new RelayCommand(handler.CreateGuest, null); DeleteGuestCommand = new RelayCommand(handler.DeleteGuest, test); UpdateGuestCommand = new RelayCommand(handler.UpdateGuest, test); HelperClass.msg("VELKOMMEN TIL Gæst Admin Programmet"); }
/// <summary> /// Function to retrieve photo of guest. /// </summary> /// <param name="guest">Instance of Guest</param> private static void RetrieveGuestPhoto(Guest guest) { Observable.ToAsync(() => { var person = new Person(); var guestCollection = new GuestCollection(); guestCollection.Add(guest); person.AssignGuests(guestCollection); DIContainer.Instance.Resolve<PhotoService>().RetrievePhotos(person); })().Subscribe(r => { }, ex => { }); }
/// <summary> /// Update Card status disabled /// </summary> /// <param name="guests">The guests.</param> /// <param name="accessCardNumberScanned">access Card Number Scanned</param> /// <param name="folioNumber">The folio number.</param> public static void UpdateCardDisabled(GuestCollection guests, string accessCardNumberScanned, string folioNumber) { guests.Iterate(g => g.IsDisabledCard = false); if (string.IsNullOrWhiteSpace(folioNumber)) { guests.Where(g => g.Folios.Count > 0 && g.Folios.Any(f => f.FolioStatus != null && f.AccessCardNumber != null && f.AccessCardNumber.Equals(accessCardNumberScanned, StringComparison.OrdinalIgnoreCase) && f.FolioStatus.Equals(FolioStatusCancel, StringComparison.OrdinalIgnoreCase))).Iterate(g => g.IsDisabledCard = true); } else { guests.Where(g => g.Folios.Count > 0 && g.Folios.Any(f => f.FolioStatus != null && f.FolioNumber != null && (f.FolioStatus.Equals(FolioStatusCancel, StringComparison.OrdinalIgnoreCase) || string.IsNullOrEmpty(f.AccessCardNumber)) && f.FolioNumber.Equals(folioNumber, StringComparison.OrdinalIgnoreCase)) && g.PersonalDetail.SourceId.Equals(accessCardNumberScanned, StringComparison.OrdinalIgnoreCase)).Iterate(g => g.IsDisabledCard = true); } }
/// <summary> /// Maps the guest information. /// </summary> /// <param name="guests">The guests.</param> /// <param name="personsStatusHistory">The persons status history.</param> /// <param name="personStatusList">The person status list.</param> private static void MapGuestInformation(GuestCollection guests, ListResult<PersonStatusHistory> personsStatusHistory, List<PersonStatus> personStatusList) { foreach (var guest in guests) { var item = personStatusList.FirstOrDefault(a => a.PersonId.ToString(CultureInfo.CurrentCulture).Equals(guest.GuestId)); var personStatusHistory = new PersonStatusHistory(); personStatusHistory.PersonId = guest.GuestId; personStatusHistory.FirstName = guest.PersonalDetail.FirstName; personStatusHistory.MiddleName = guest.PersonalDetail.MiddleName; personStatusHistory.LastName = guest.PersonalDetail.LastName; personStatusHistory.Gender = guest.PersonalDetail.Gender; personStatusHistory.Age = guest.PersonalDetail.Age ?? 0; personStatusHistory.LastEvent = item != null ? item.Status : guest.LastEvent; personStatusHistory.LastDateTime = item != null ? item.StatusChangedDate : guest.LastDateTime; personStatusHistory.PersonTypeId = CommonConstants.GuestTypeId; personStatusHistory.ReservationNumber = guest.CruiseDetail.ReservationNumber; personStatusHistory.Stateroom = guest.CruiseDetail.Stateroom; personsStatusHistory.Items.Add(personStatusHistory); } }
/// <summary> /// Assigns the guests. /// </summary> /// <param name="guestCollection">The guest collection.</param> /// <returns>Instance of Person</returns> public Person AssignGuests(GuestCollection guestCollection) { this.guests = guestCollection; return this; }
/// <summary> /// Maps the guest reservation detail. /// </summary> /// <param name="dataReader">The data reader.</param> /// <returns>Guest collection</returns> private static async Task<GuestCollection> RetrieveGuestReservationDetail(SqlDataReader dataReader) { var guestCollection = new GuestCollection(); if (dataReader != null) { while (await dataReader.ReadAsync()) { var guest = new Guest(); guest.GuestId = dataReader.Int32Field(GuestId).ToString(); guest.CruiseDetail = new GuestCruiseDetail(); guest.CruiseDetail.ReservationId = dataReader.Int32Field(ReservationId).ToString(); guest.CruiseDetail.ReservationNumber = dataReader.StringField(ReservationNumber); guest.CruiseDetail.IsVip = dataReader.BooleanField(VIPFlag); guest.CruiseDetail.IsPrimary = dataReader.BooleanField(IsPrimary); guest.CruiseDetail.Stateroom = dataReader.StringField(Stateroom); guest.CruiseDetail.EmbarkDate = dataReader.DateTimeField(EmbarkDate); guest.CruiseDetail.DebarkDate = dataReader.DateTimeField(DebarkDate); guest.CruiseDetail.ReservationStatusId = dataReader.ByteField(ReservationStatusId).ToString(); guest.CruiseDetail.VoyageId = dataReader.Int32Field(VoyageId).ToString(); var loyaltyLevelTypeId = dataReader.Int32NullableField(LoyaltyLevelTypeId); guest.CruiseDetail.LoyaltyLevelTypeId = loyaltyLevelTypeId.HasValue ? loyaltyLevelTypeId.Value.ToString() : null; var beaconId = dataReader.Int32NullableField(BeaconId); guest.CruiseDetail.BeaconId = beaconId.HasValue ? beaconId.Value.ToString() : null; ////guest.CruiseDetail.HasRecovery = dataReader.BooleanField(HasRecovery); guest.CruiseDetail.HasTravelWith = dataReader.BooleanField(HasTravelWith); guest.CruiseDetail.IsFolioAtRisk = dataReader.BooleanField(IsFolioAtRisk); guest.CruiseDetail.CanDebarkAlone = dataReader.BooleanField(CanDebarkAlone); guest.CruiseDetail.StateroomOccupancy = dataReader.ByteField(StateroomOccupancy).ToString(); guest.CruiseDetail.DiningDetail = dataReader.StringField(DiningDetail); guest.CruiseDetail.IsCheckedIn = dataReader.BooleanField(IsCheckedIn); guest.CruiseDetail.IsConciergeStatus = dataReader.BooleanField(IsConciergeStatus); guest.CruiseDetail.IsBackToBack = dataReader.BooleanField(IsBackToBack); var stateroomCategoryTypeId = dataReader.Int16NullableField(StateroomCategoryTypeID); guest.CruiseDetail.StateroomCategoryTypeId = stateroomCategoryTypeId.HasValue ? stateroomCategoryTypeId.Value.ToString() : null; guest.CruiseDetail.StateroomCategoryType = dataReader.StringField(Category); guestCollection.Add(guest); } } return guestCollection; }
/// <summary> /// Maps the guest personal detail. /// </summary> /// <param name="dataReader">The data reader.</param> /// <returns>Guest Collection.</returns> private static async Task<GuestCollection> MapGuests(SqlDataReader dataReader) { var guestCollection = new GuestCollection(); if (dataReader != null) { while (await dataReader.ReadAsync()) { var guest = new Guest(); guest.GuestId = dataReader.Int32Field(GuestId).ToString(); var hasAlert = dataReader.BooleanNullableField(HasAlert); guest.HasAlert = hasAlert.HasValue ? hasAlert.Value : false; var hasMessage = dataReader.BooleanNullableField(HasMessage); guest.HasMessage = hasMessage.HasValue ? hasMessage.Value : false; guest.LastDateTime = dataReader.DateTimeNullableField(LastDateTime); guest.LastEvent = dataReader.StringField(LastEvent); guest.SecurityPhotoAddress = dataReader.StringField(SecurityPhotoMediaItemAddress); byte[] bytes = await guest.SecurityPhotoAddress.ImageAddressToByteArray(); guest.Photo = bytes.ToBitmapSource(); guest.AssignPhotoByteArray(new Collection<byte>(bytes)); guestCollection.Add(guest); } } return guestCollection; }
/// <summary> /// Maps the guest detail. /// </summary> /// <param name="person">The person.</param> /// <param name="guestPersonDetailList">The guest person detail list.</param> /// <param name="guestReservationDetailList">The guest reservation detail list.</param> /// <param name="guestAlerts">The guest alerts.</param> /// <param name="guestAlertMessages">The guest alert messages.</param> /// <param name="guestPersonMessages">The guest person messages.</param> /// <param name="guestMessages">The guest messages.</param> private static void MapGuestDetail(Person person, GuestCollection guestPersonDetailList, GuestCollection guestReservationDetailList, IDictionary<string, AlertCollection> guestAlerts, IDictionary<string, Collection<Message>> guestAlertMessages, IDictionary<string, PersonMessageCollection> guestPersonMessages, IDictionary<string, Collection<Message>> guestMessages, IDictionary<string, FolioCollection> folioList) { var debarkPersonalDetails = new DebarkPersonDetailCollection(); person.Guests.Iterate(a => { var guestReservationDetail = guestReservationDetailList.Where(b => a.GuestId.Equals(b.GuestId)).FirstOrDefault(); var guestPersonalDetail = guestPersonDetailList.Where(c => a.GuestId.Equals(c.GuestId)).FirstOrDefault(); if (guestReservationDetail != null) { a.CruiseDetail = guestReservationDetail.CruiseDetail; } if (guestPersonalDetail != null) { a.PersonalDetail = guestPersonalDetail.PersonalDetail; } var guestAlertCollection = guestAlerts.ContainsKey(a.GuestId) ? guestAlerts[a.GuestId] : null; guestAlertCollection.Iterate(b => b.Message = guestAlertMessages.ContainsKey(b.AlertId) ? guestAlertMessages[b.AlertId].FirstOrDefault() : null); if (guestAlertCollection != null) { a.AssignAlerts(guestAlertCollection); } var messageCollection = guestPersonMessages.ContainsKey(a.GuestId) ? guestPersonMessages[a.GuestId] : null; messageCollection.Iterate(b => b.Message = guestMessages.ContainsKey(b.AlertId) ? guestMessages[b.AlertId].FirstOrDefault() : null); if (messageCollection != null) { a.AssignMessages(messageCollection); } var folioCollection = folioList.ContainsKey(a.GuestId) ? folioList[a.GuestId] : null; if (folioCollection != null) { a.AssignFolios(folioCollection); } if (a.CruiseDetail.Stateroom != null) { var debarkPersonalDetail = new DebarkPersonDetail { Age = a.PersonalDetail.Age, PersonId = a.GuestId, PersonTypeId = CommonConstants.GuestTypeId, ReservationId = a.CruiseDetail.ReservationId, StateroomNumber = a.CruiseDetail.Stateroom }; debarkPersonalDetails.Add(debarkPersonalDetail); } }); MapDebarkAuthorizationDetails(person, debarkPersonalDetails); }
/// <summary> /// Retrieves the guest personal detail. /// </summary> /// <param name="dataReader">The data reader.</param> /// <returns>Guest Collection.</returns> private static async Task<GuestCollection> RetrieveGuestPersonalDetail(SqlDataReader dataReader) { var guestCollection = new GuestCollection(); if (dataReader != null) { while (await dataReader.ReadAsync()) { var guest = new Guest(); guest.GuestId = dataReader.Int32Field(GuestId).ToString(); guest.PersonalDetail = new PersonalDetail(); guest.PersonalDetail.Title = dataReader.StringField(Title); guest.PersonalDetail.FirstName = dataReader.StringField(FirstName); guest.PersonalDetail.MiddleName = dataReader.StringField(MiddleName); guest.PersonalDetail.LastName = dataReader.StringField(LastName); guest.PersonalDetail.Nickname = dataReader.StringField(NickName); guest.PersonalDetail.PreferredName = dataReader.StringField(PreferredName); guest.PersonalDetail.Suffix = dataReader.StringField(Suffix); guest.PersonalDetail.Birthdate = dataReader.DateTimeNullableField(BirthDate); guest.PersonalDetail.BirthCountryId = dataReader.Int32NullableField(BirthCountryId).HasValue ? dataReader.Int32NullableField("BirthCountryID").Value.ToString() : null; guest.PersonalDetail.CitizenshipCountryId = dataReader.Int32NullableField(CitizenshipCountryId).HasValue ? dataReader.Int32NullableField("BirthCountryID").Value.ToString() : null; guest.PersonalDetail.Gender = dataReader.StringField(Gender); guest.PersonalDetail.MaritalStatus = dataReader.StringField(MaritalStatus); guest.PersonalDetail.Occupation = dataReader.StringField(Occupation); guest.PersonalDetail.AnniversaryDate = dataReader.DateTimeNullableField(AnniversaryDate); guest.PersonalDetail.DocumentNumber = dataReader.StringField(DocumentNumber); guest.PersonalDetail.Age = dataReader.Int16Field(Age); guest.PersonalDetail.SourceId = dataReader.StringField(SourceId); guestCollection.Add(guest); } } return guestCollection; }
/// <summary> /// Setups the data. /// </summary> private void SetupData() { Domain.Dependencies.Register(); DataAccess.Dependencies.Register(); this.workstationMock = new Mock<Workstation>(); DIContainer.Instance.RegisterInstance<Workstation>(this.workstationMock.Object); Workstation ws = DIContainer.Instance.Resolve<Workstation>(); ws.Port = new Port { PortId = "1" }; ws.Ship = new Ship { ShipId = "5" }; ws.GangwayLocation = new GangwayLocation { LocationId = "1" }; ws.GangwayServiceBaseAddress = "http://Localhost/"; ws.ConfigurationServiceBaseAddress = "http://Localhost/"; ws.AuthenticationServiceBaseAddress = "http://Localhost/"; ws.AuthorizationServiceBaseAddress = "http://Localhost/"; ws.ConnectionMode = ConnectionMode.Online; var intCollection = new Collection<int>(); intCollection.Add(0); var brand = new Brand { BrandId = "3", Name = "Carnival Breeze", MediaItemAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23" }; var voyageList = new List<Voyage>(); var voyage = new Voyage { DebarkPortId = "1", EmbarkPortId = "1", DestinationId = "1", MediaItemAddress = "http://172.26.248.122/", VoyageId = "31", Name = "Carnival Voyage", IsActive = true, ShipId = "5", Number = "ccl", DebarkDate = new DateTime(2015, 3, 3), EmbarkDate = new DateTime(2015, 3, 2) }; voyageList.Add(voyage); ws.AssignVoyageList(voyageList); ////this.repository = new Mock<IRepository>(); ////this.embarkationStatisticsRepositoryMock = new Mock<EmbarkationStatisticsRepository>(); this.personServiceRepositoryMock = new Mock<PersonServiceRepository>(); this.referenceDataRepositoryMock = new Mock<ReferenceDataRepository>(); ////this.photoCaptureRepositoryMock = new Mock<PhotoCaptureRepository>(); ////this.shipTimeRepositoryMock = new Mock<ShipTimeRepository>(); ////this.referenceDataRepositoryMock = new Mock<ReferenceDataRepository>(); ////this.gangwayEventRepositoryMock = new Mock<GangwayEventRepository>(); ////this.guestClient = new Mock<IGuestClient>(); ////this.personClient = new Mock<IPersonsClient>(); ////DIContainer.Instance.RegisterInstance<IGuestClient>(this.guestClient.Object); ////DIContainer.Instance.RegisterInstance<IPersonsClient>(this.personClient.Object); ////DIContainer.Instance.RegisterInstance<IRepository>(this.repository.Object); DIContainer.Instance.RegisterInstance<ReferenceDataRepository>(this.referenceDataRepositoryMock.Object); ////DIContainer.Instance.RegisterInstance<EmbarkationStatisticsRepository>(this.embarkationStatisticsRepositoryMock.Object); ////DIContainer.Instance.RegisterInstance<GangwayEventRepository>(this.gangwayEventRepositoryMock.Object); ////DIContainer.Instance.RegisterInstance<PhotoCaptureRepository>(this.photoCaptureRepositoryMock.Object); DIContainer.Instance.RegisterInstance<PersonServiceRepository>(this.personServiceRepositoryMock.Object); ////DIContainer.Instance.RegisterInstance<ShipTimeRepository>(this.shipTimeRepositoryMock.Object); var cruiseDetails = new GuestCruiseDetail { BeaconId = string.Empty, BerthNumber = string.Empty, IdentificationId = string.Empty, LoyaltyLevelTypeId = string.Empty, ReservationId = string.Empty, Stateroom = "0000" }; var personDetail = new PersonalDetail { CitizenshipCountryId = string.Empty, FirstName = string.Empty, LastName = string.Empty, MiddleName = string.Empty, Title = string.Empty, PreferredName = string.Empty, MaritalStatus = string.Empty, Nickname = string.Empty, Occupation = string.Empty, DocumentNumber = string.Empty, Suffix = string.Empty, DocumentTypeId = "1" }; this.person = new Person { TotalResults = 1 }; CrewmemberCollection crewMembers = new CrewmemberCollection(); crewMembers.Add(new Crewmember { CrewmemberId = string.Empty, CrewmemberTypeId = "1", SecurityPhotoAddress = string.Empty, ChargeId = string.Empty, EmployeeNo = string.Empty, LastEvent = string.Empty, PersonalDetail = personDetail }); person.AssignCrewmembers(crewMembers); GuestCollection guests = new GuestCollection(); var checkInDetail = new CheckInDetail { ApplicationId = string.Empty, LocationId = "1", LocationTypeId = "1", MachineName = "Machine", Station = "station", UserId = "user" }; var cruiseDetail = new GuestCruiseDetail { BeaconId = string.Empty, CheckInDetail = checkInDetail, LoyaltyLevelTypeId = "1", ReservationId = "1", Stateroom = "00000", ReservationStatusId = "0000089", StateroomCategoryTypeId = "aaasad" }; guests.Add(new Guest { GuestId = "0001", PersonalDetail = personDetail, Age = 0, CruiseDetail = cruiseDetail, SecurityPhotoAddress = string.Empty, }); VisitorCollection visitors = new VisitorCollection(); visitors.Add(new Visitor { VisitorId = "0003", PersonalDetail = personDetail, SecurityPhotoAddress = string.Empty, }); this.person.AssignGuests(guests); this.person.AssignVisitors(visitors); this.personTypes = new List<PersonType>(); personTypes.Add(PersonType.Guest); this.personServiceRepositoryMock.Setup(data => data.RetrievePersonsBySearchText(It.IsNotNull<string>(), It.IsAny<string>(), It.IsAny<IList<PersonType>>(), It.IsAny<SearchType>(), It.IsAny<string>(), It.IsAny<string>(), 0, 0, It.IsAny<string>(), It.IsAny<string>())).Returns(Task.FromResult(this.person)); var documentTypes = new DocumentTypeCollection(); documentTypes.Add(new DocumentType { CountryId = "232", Code = "USA", DocumentTypeId = "1", Name = "Passport" }); var referencedata = new ReferenceData(); referencedata.AssignDocumentTypes(documentTypes); this.referenceDataRepositoryMock.Setup(data => data.RetrieveReferenceDataAsync()).Returns(Task.FromResult(referencedata)); ////this.personClient.Setup(data => data.RetrievePersonsAsync("5", "ab", null, null, "0001", null, null, "Guest", null, null, null, null, null, 0, 0)).Returns(RetrieveData()); }
/// <summary> /// Function to retrieve persons by search text. /// </summary> /// <param name="reservationNumbers">The reservation numbers.</param> /// <returns>List of Guest</returns> public async Task<IList<Guest>> RetrieveTravelWithAsync(string reservationNumbers) { var workstation = DIContainer.Instance.Resolve<Workstation>(); var task = await this.guestClient.RetrieveTravelWithAsync(shipId: workstation.Ship.ShipId, guestIds: null, voyageIds: workstation.SelectedVoyageIds, reservationNumbers: reservationNumbers, pageNumber: null, maxResults: null); IList<Guest> guestData = task != null ? JsonConvert.DeserializeObject<IList<Guest>>(task) : default(IList<Guest>); Person persons = new Person(); GuestCollection guestCollection = new GuestCollection(); guestData.Iterate(g => guestCollection.Add(g)); persons.AssignGuests(guestCollection); if (persons != null) { CommonDataMethods.FillOnboardStatus(persons); CommonDataMethods.ManageAlerts(persons, null, null); } return await Task.FromResult(guestData); }
/// <summary> /// Retrieves the search using barcode. /// </summary> /// <param name="cardDetail">Information related Card</param> private void RetrieveSearchUsingBarcode(CardInformation cardDetail) { ScreenKeyboardNativeMethods.HideKeyboard(); if (cardDetail == null || Application.Current.Windows.Count > 2 || (Application.Current.Windows.Count == 2 && !Application.Current.Windows.OfType<Window>().Any(w => w.Name.Equals("cameraWindow", StringComparison.OrdinalIgnoreCase)))) { return; } cardDetail.PersonType = string.IsNullOrEmpty(cardDetail.PersonType) ? CardInformationExtension.Guest : cardDetail.PersonType; string cardData = AssignBarcodeDetail(cardDetail); if (!this.IsBusy) { this.IsBusy = true; var currentParty = this.personsPartyManager.CurrentParty; if (this.CurrentViewType == ViewType.PartyDetails && currentParty != null && !string.IsNullOrEmpty(currentParty.PartyDetailSelectedTab) && currentParty.PartyDetailSelectedTab.Equals(AssignCard) && cardDetail.RetrieveCardPersonType().FirstOrDefault() == PersonType.Visitor) { this.AssignVisitorAccessCard(cardDetail, currentParty); } else { if (!this.IsAlertPopupOpened && (this.CurrentViewType == ViewType.PartyDetails || this.CurrentViewType == ViewType.SearchGuest || this.CurrentViewType == ViewType.Home)) { ShowSpinWheel(); var existingCardPerson = this.personsPartyManager.RetrieveExistingPersonForCardNumber(cardData, cardDetail.RetrieveCardPersonType().FirstOrDefault(), cardDetail); if (existingCardPerson != null) { var guests = new GuestCollection(); this.personsPartyManager.CurrentParty.Guests.Iterate(g => guests.Add(g)); PersonsService.UpdateCardDisabled(guests, cardData, cardDetail.FolioNumber); ApplicationDispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() => this.ShowDisabledCardMessage(currentParty, true))); this.OnRetrievalCardPerson(cardDetail); Messenger.Instance.Notify(MessengerMessage.ShowSelectedPartyDetailTab, SelectedIndex); currentParty.PartyDetailSelectedTab = Stateroom; if (this.Workstation.FlowDirection == Domain.FlowDirection.AgeVerification) { ApplicationDispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, (Action)(() => Messenger.Instance.Notify(MessengerMessage.ShowAgeVerificationPopup, null))); } } else { this.SetErrorTextMessage(cardDetail, currentParty); // ToDo: ship ID ObservableManager.RunObservable(() => this.SearchPersonForBarcodeScanning(cardDetail), null, () => { this.IsBusy = false; }); } } else { ApplicationDispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, (Action)(() => HideSpinWheel())); this.IsBusy = false; } } } }
private Person FilledPerson() { var person = new Person(); CrewmemberCollection crewMembers = new CrewmemberCollection(); var personDetail = new PersonalDetail { CitizenshipCountryId = string.Empty, FirstName = string.Empty, LastName = string.Empty, MiddleName = string.Empty, Title = string.Empty, PreferredName = string.Empty, MaritalStatus = string.Empty, Nickname = string.Empty, Occupation = string.Empty, DocumentNumber = string.Empty, Suffix = string.Empty }; crewMembers.Add(new Crewmember { CrewmemberId = string.Empty, CrewmemberTypeId = "1", SecurityPhotoAddress = string.Empty, ChargeId = string.Empty, EmployeeNo = string.Empty, LastEvent = string.Empty, PersonalDetail = personDetail }); person.AssignCrewmembers(crewMembers); GuestCollection guests = new GuestCollection(); var checkInDetail = new CheckInDetail { ApplicationId = string.Empty, LocationId = "1", LocationTypeId = "1", MachineName = "Machine", Station = "station", UserId = "user" }; var cruiseDetail = new GuestCruiseDetail { BeaconId = string.Empty, CheckInDetail = checkInDetail, LoyaltyLevelTypeId = "1", ReservationId = "1", Stateroom = stateroom, ReservationStatusId = "0000089", StateroomCategoryTypeId = "aaasad" }; var guest = new Guest { GuestId = PersonId, PersonalDetail = personDetail, Age = 0, CruiseDetail = cruiseDetail, SecurityPhotoAddress = string.Empty }; var cruiseDetails = new GuestCruiseDetail { BeaconId = string.Empty, BerthNumber = string.Empty, IdentificationId = string.Empty, LoyaltyLevelTypeId = string.Empty, ReservationId = string.Empty, Stateroom = stateroom }; //// var personDetail = new PersonalDetail { CitizenshipCountryId = string.Empty, FirstName = string.Empty, LastName = string.Empty, MiddleName = string.Empty, Title = string.Empty, PreferredName = string.Empty, MaritalStatus = string.Empty, Nickname = string.Empty, Occupation = string.Empty, PassportNo = string.Empty, Suffix = string.Empty }; var personBase = new PersonBase { IsOnHold = true, ChargeId = ChargeId, CruiseDetail = cruiseDetails, PersonalDetail = personDetail, LastEvent = string.Empty, PersonId = PersonId, SecurityPhotoAddress = string.Empty, Stateroom = stateroom }; PortDebarkAuthorization pda = new PortDebarkAuthorization { PortId = "1", PersonId = "00001", CanDebarkAlone = true, IsActivePort = true, PortOrder = 1 }; DebarkAuthorizedPersonCollection dapCollection = new DebarkAuthorizedPersonCollection(); dapCollection.Add(new DebarkAuthorizedPerson { PersonTypeId = "2", Person = personBase, PersonId = PersonId, PersonType = PersonType.Guest }); pda.AssignDebarkAuthorizedPersons(dapCollection); PortDebarkAuthorizationCollection portDebarkAuthorizations = new PortDebarkAuthorizationCollection(); portDebarkAuthorizations.Add(pda); guest.AssignPortAuthorizations(portDebarkAuthorizations); guests.Add(guest); person.AssignGuests(guests); return person; }
/// <summary> /// Update Card status disabled /// </summary> /// <param name="guests">guests instance</param> /// <param name="accessCardNumberScanned">access Card Number Scanned</param> /// <param name="folioNumber">The folio number.</param> public static void UpdateCardDisabled(GuestCollection guests, string accessCardNumberScanned, string folioNumber) { CommonDataMethods.UpdateCardDisabled(guests, accessCardNumberScanned, folioNumber); }
private void SetUpPartyManagerData() { //// var party = new PersonsParty { SelectedPerson = this.FilledPerson() }; this.person = new Person(); CrewmemberCollection crewMembers = new CrewmemberCollection(); var personDetail = new PersonalDetail { CitizenshipCountryId = string.Empty, FirstName = string.Empty, LastName = string.Empty, MiddleName = string.Empty, Title = string.Empty, PreferredName = string.Empty, MaritalStatus = string.Empty, Nickname = string.Empty, Occupation = string.Empty, DocumentNumber = string.Empty, Suffix = string.Empty }; crewMembers.Add(new Crewmember { CrewmemberId = string.Empty, CrewmemberTypeId = "1", SecurityPhotoAddress = string.Empty, ChargeId = string.Empty, EmployeeNo = string.Empty, LastEvent = string.Empty, PersonalDetail = personDetail }); this.person.AssignCrewmembers(crewMembers); GuestCollection guests = new GuestCollection(); var checkInDetail = new CheckInDetail { ApplicationId = string.Empty, LocationId = "1", LocationTypeId = "1", MachineName = "Machine", Station = "station", UserId = "user" }; var cruiseDetail = new GuestCruiseDetail { BeaconId = string.Empty, CheckInDetail = checkInDetail, LoyaltyLevelTypeId = "1", ReservationId = "1", Stateroom = stateroom, ReservationStatusId = "0000089", StateroomCategoryTypeId = "aaasad" }; guests.Add(new Guest { GuestId = "1", PersonalDetail = personDetail, Age = 0, CruiseDetail = cruiseDetail, SecurityPhotoAddress = string.Empty }); this.person.AssignGuests(guests); }
/// <summary> /// Function to retrieve persons by search text. /// </summary> /// <param name="staterooms">The staterooms.</param> /// <param name="guestIds">The guest ids.</param> /// <param name="reservationNumbers">The reservation numbers.</param> /// <param name="pageNumber">The page number.</param> /// <param name="maxResults">The maximum results.</param> /// <returns>List of Guest</returns> public async Task<IList<Guest>> RetrieveTravelWithAsync(string reservationNumbers) { var workstation = DIContainer.Instance.Resolve<Workstation>(); string shipId = workstation.Ship.ShipId; IList<Guest> guestData = null; string reservationNumbersofTravelWithGuest = string.Empty; var command = this.Database.GetStoredProcCommand(ListTravelPartyStoredProcedure) .AddParameter(ReservationNumber, DbType.String, reservationNumbers); reservationNumbersofTravelWithGuest = await this.ExecuteReaderAsync(command, PersonDataMapper.MapTravelPartyAsync); var commandForPerson = this.Database.GetStoredProcCommand(RetrievePersonStoredProcedure) .AddParameter(ReservationNumbers, DbType.String, reservationNumbersofTravelWithGuest); commandForPerson.AddParameter(ShipId, DbType.Int16, Convert.ToInt16(shipId)); commandForPerson.AddParameter(PageNumber, DbType.Int32, OfflineConstants.DefaultPageNumber); commandForPerson.AddParameter(PageSize, DbType.Int32, workstation.MaxRecentPersonCount); guestData = await this.ExecuteReaderAsync(commandForPerson, PersonDataMapper.MapTravelWithGuest); Person persons = new Person(); GuestCollection guestCollection = new GuestCollection(); guestData.Iterate(g => guestCollection.Add(g)); persons.AssignGuests(guestCollection); // Fills IsOnboard status if (persons != null) { CommonDataMethods.FillOnboardStatus(persons); CommonDataMethods.ManageAlerts(persons, null, null); } return await Task.FromResult(guestData); }