/// <summary> /// Maps the crew information. /// </summary> /// <param name="crews">The crews.</param> /// <param name="personsStatusHistory">The persons status history.</param> /// <param name="personStatusList">The person status list.</param> private static void MapCrewInformation(CrewmemberCollection crews, ListResult<PersonStatusHistory> personsStatusHistory, List<PersonStatus> personStatusList) { foreach (var crew in crews) { var item = personStatusList.FirstOrDefault(a => a.PersonId.ToString(CultureInfo.CurrentCulture).Equals(crew.CrewmemberId)); var personStatusHistory = new PersonStatusHistory(); personStatusHistory.PersonId = crew.CrewmemberId; personStatusHistory.FirstName = crew.PersonalDetail.FirstName; personStatusHistory.MiddleName = crew.PersonalDetail.MiddleName; personStatusHistory.LastName = crew.PersonalDetail.LastName; personStatusHistory.Gender = crew.PersonalDetail.Gender; personStatusHistory.Age = crew.PersonalDetail.Age ?? 0; personStatusHistory.LastEvent = item != null ? item.Status : crew.LastEvent; personStatusHistory.LastDateTime = item != null ? item.StatusChangedDate : crew.LastDateTime; personStatusHistory.PersonTypeId = CommonConstants.CrewmemberTypeId; personStatusHistory.Stateroom = crew.Stateroom; personsStatusHistory.Items.Add(personStatusHistory); } }
/// <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> /// Function to add the selected person to create new party. /// </summary> /// <param name="selectedHistory">The selected history.</param> private void LoadPartyDetail(PersonStatusHistory selectedHistory) { if (selectedHistory != null && !string.IsNullOrEmpty(selectedHistory.PersonTypeId)) { Messenger.Instance.Notify(MessengerMessage.ShowSpinWheel, true); string searchText; SearchType searchType; if (selectedHistory.PersonTypeId.Equals(CommonConstants.GuestTypeId)) { searchText = selectedHistory.ReservationNumber; searchType = SearchType.Reservation; } else if (!string.IsNullOrEmpty(selectedHistory.PersonTypeId) && selectedHistory.PersonTypeId.Equals(CommonConstants.CrewmemberTypeId)) { searchText = selectedHistory.PersonId; searchType = SearchType.PersonId; } else { searchText = selectedHistory.PersonId; searchType = SearchType.PersonId; } var personType = GetPersonTypeByPersonTypeId(selectedHistory.PersonTypeId); ObservableManager.RunObservable(() => this.RetrieveSearchPerson(searchText, searchType, personType, selectedHistory.PersonId), null, () => { Messenger.Instance.Notify(MessengerMessage.ShowSpinWheel, false); }); } }
/// <summary> /// Maps the visitor information. /// </summary> /// <param name="visitors">The visitors.</param> /// <param name="personsStatusHistory">The persons status history.</param> /// <param name="personStatusList">The person status list.</param> private static void MapVisitorInformation(VisitorCollection visitors, ListResult<PersonStatusHistory> personsStatusHistory, List<PersonStatus> personStatusList) { foreach (var visitor in visitors) { var item = personStatusList.FirstOrDefault(a => a.PersonId.ToString(CultureInfo.CurrentCulture).Equals(visitor.VisitorId)); var personStatusHistory = new PersonStatusHistory(); personStatusHistory.PersonId = visitor.VisitorId; personStatusHistory.FirstName = visitor.PersonalDetail.FirstName; personStatusHistory.MiddleName = visitor.PersonalDetail.MiddleName; personStatusHistory.LastName = visitor.PersonalDetail.LastName; personStatusHistory.Gender = visitor.PersonalDetail.Gender; personStatusHistory.Age = visitor.PersonalDetail.Age ?? 0; personStatusHistory.LastEvent = item != null ? item.Status : visitor.LastEvent; ////personStatusHistory.LastDateTime = item != null ? item.StatusChangedDate : visitor.LastDateTime; personStatusHistory.PersonTypeId = CommonConstants.VisitorTypeId; personsStatusHistory.Items.Add(personStatusHistory); } }
/// <summary> /// Maps the crew information. /// </summary> /// <param name="crews">The crews.</param> /// <param name="staterooms">The staterooms.</param> /// <param name="item">The item.</param> /// <param name="personStatusHistory">The person status history.</param> /// <param name="crewTypePerson">The crew type person.</param> private static void MapCrewInformation(ListResult<Crewmember> crews, ListResult<Entity.Stateroom> staterooms, DashboardStatistics item, PersonStatusHistory personStatusHistory, PersonTypeEntity crewTypePerson) { var value = crews.Items.FirstOrDefault(a => a.CrewmemberId.Equals(item.PersonId)); if (value != null) { personStatusHistory.PersonId = value.CrewmemberId; personStatusHistory.FirstName = value.PersonalDetail.FirstName; personStatusHistory.MiddleName = value.PersonalDetail.MiddleName; personStatusHistory.LastName = value.PersonalDetail.LastName; personStatusHistory.Gender = value.PersonalDetail.Gender == "1" ? "M" : value.PersonalDetail.Gender == "2" ? "F" : value.PersonalDetail.Gender; personStatusHistory.Age = value.PersonalDetail.Age.HasValue ? value.PersonalDetail.Age.Value : 0; personStatusHistory.LastEvent = item.Status; personStatusHistory.LastDateTime = item.StatusChangedDate; personStatusHistory.PersonTypeId = crewTypePerson.PersonTypeId; var stateroom = value.StateroomId != null && staterooms.Items != null ? staterooms.Items.FirstOrDefault(a => a.StateroomId == value.StateroomId) : null; personStatusHistory.Stateroom = stateroom != null ? stateroom.StateroomNumber : null; } }
/// <summary> /// Retrieves the last event. /// </summary> /// <param name="statusType">Type of the status.</param> /// <param name="personStatus">The person status.</param> /// <returns> /// Last Event Type. /// </returns> private static string RetrieveLastEvent(string statusType, PersonStatusHistory personStatus) { switch (statusType) { case Onboard: return Onboard; case Ashore: return Ashore; case CheckedIn: return !string.IsNullOrEmpty(personStatus.PersonTypeId) && personStatus.PersonTypeId.Equals(CommonConstants.CrewmemberTypeId) ? personStatus.LastEvent : CheckedInText; case ExpectedToday: return !string.IsNullOrEmpty(personStatus.PersonTypeId) && personStatus.PersonTypeId.Equals(CommonConstants.CrewmemberTypeId) ? personStatus.LastEvent : ExpectedTodayText; default: return string.Empty; } }
/// <summary> /// Maps the person information. /// </summary> /// <param name="personTypeList">The person type list.</param> /// <param name="crews">The crews.</param> /// <param name="staterooms">The staterooms.</param> /// <param name="item">The item.</param> /// <returns> /// Return instance of person status history /// </returns> private static PersonStatusHistory MapPersonInformation(ListResult<PersonTypeEntity> personTypeList, ListResult<Crewmember> crews, ListResult<Entity.Stateroom> staterooms, DashboardStatistics item) { var personStatusHistory = new PersonStatusHistory(); var crewTypePerson = personTypeList.Items.FirstOrDefault(personType => personType.Name.Equals(CrewType, StringComparison.OrdinalIgnoreCase)); if (crewTypePerson != null && crews != null) { MapCrewInformation(crews, staterooms, item, personStatusHistory, crewTypePerson); } return personStatusHistory; }
/// <summary> /// Maps the person information. /// </summary> /// <param name="personTypeList">The person type list.</param> /// <param name="guests">The guests.</param> /// <param name="staterooms">The staterooms.</param> /// <param name="item">The item.</param> /// <returns> /// Return instance of person status history /// </returns> private static PersonStatusHistory MapPersonInformation(ListResult<PersonTypeEntity> personTypeList, ListResult<Guest> guests, ListResult<Entity.Stateroom> staterooms, DashboardStatistics item) { var personStatusHistory = new PersonStatusHistory(); var guestTypePerson = personTypeList.Items.FirstOrDefault(personType => personType.Name.Equals(GuestType, StringComparison.OrdinalIgnoreCase)); if (guestTypePerson != null && guests != null) { MapGuestInformation(guests, staterooms, item, personStatusHistory, guestTypePerson); } return personStatusHistory; }
/// <summary> /// Maps the person information. /// </summary> /// <param name="personTypeList">The person type list.</param> /// <param name="guests">The guests.</param> /// <param name="crews">The crews.</param> /// <param name="visitors">The visitors.</param> /// <param name="staterooms">The staterooms.</param> /// <param name="item">The item.</param> /// <returns> /// Return instance of person status history /// </returns> internal static PersonStatusHistory MapPersonInformation(ListResult<PersonTypeEntity> personTypeList, ListResult<Guest> guests, ListResult<Crewmember> crews, ListResult<Visitor> visitors, ListResult<DataAccess.Entities.Stateroom> staterooms, DataAccess.Entities.DashboardStatistics item) { var personStatusHistory = new PersonStatusHistory(); var guestTypePerson = personTypeList.Items.FirstOrDefault(personType => personType.Name.Equals(GuestType, StringComparison.OrdinalIgnoreCase)); var crewTypePerson = personTypeList.Items.FirstOrDefault(personType => personType.Name.Equals(CrewType, StringComparison.OrdinalIgnoreCase)); var visitorTypePerson = personTypeList.Items.FirstOrDefault(personType => personType.Name.Equals(VisitorType, StringComparison.OrdinalIgnoreCase)); if (guestTypePerson != null && guests != null) { MapGuestInformation(guests, staterooms, item, personStatusHistory, guestTypePerson); } if (crewTypePerson != null && crews != null) { MapCrewInformation(crews, staterooms, item, personStatusHistory, crewTypePerson); } if (visitorTypePerson != null && visitors != null) { MapVisitorInformation(visitors, item, personStatusHistory, visitorTypePerson); } return personStatusHistory; }
/// <summary> /// Maps the guest information. /// </summary> /// <param name="guests">The guests.</param> /// <param name="staterooms">The staterooms.</param> /// <param name="item">The item.</param> /// <param name="personStatusHistory">The person status history.</param> /// <param name="guestTypePerson">The guest type person.</param> private static void MapGuestInformation(ListResult<Guest> guests, ListResult<DataAccess.Entities.Stateroom> staterooms, DataAccess.Entities.DashboardStatistics item, PersonStatusHistory personStatusHistory, PersonTypeEntity guestTypePerson) { var value = guests.Items.FirstOrDefault(a => a.GuestId.Equals(item.PersonId)); if (value != null) { personStatusHistory.PersonId = value.GuestId; personStatusHistory.FirstName = value.PersonalDetail.FirstName; personStatusHistory.MiddleName = value.PersonalDetail.MiddleName; personStatusHistory.LastName = value.PersonalDetail.LastName; personStatusHistory.Gender = value.PersonalDetail.Gender; personStatusHistory.Age = value.PersonalDetail.Age ?? 0; personStatusHistory.LastEvent = item.Status; personStatusHistory.LastDateTime = item.StatusChangedDate; personStatusHistory.PersonTypeId = guestTypePerson.PersonTypeId; personStatusHistory.ReservationNumber = value.CruiseDetail.ReservationNumber; var stateroom = value.CruiseDetail.Stateroom != null && staterooms.Items != null ? staterooms.Items.FirstOrDefault(a => a.StateroomId == value.CruiseDetail.Stateroom) : null; personStatusHistory.Stateroom = stateroom != null ? stateroom.StateroomNumber : null; } }
/// <summary> /// Maps the visitor information. /// </summary> /// <param name="visitors">The visitors.</param> /// <param name="item">The item.</param> /// <param name="personStatusHistory">The person status history.</param> /// <param name="visitorTypePerson">The visitor type person.</param> private static void MapVisitorInformation(ListResult<Visitor> visitors, DataAccess.Entities.DashboardStatistics item, PersonStatusHistory personStatusHistory, PersonTypeEntity visitorTypePerson) { var value = visitors.Items.FirstOrDefault(a => a.VisitorId.Equals(item.PersonId)); if (value != null) { personStatusHistory.PersonId = value.VisitorId; personStatusHistory.FirstName = value.PersonalDetail.FirstName; personStatusHistory.MiddleName = value.PersonalDetail.MiddleName; personStatusHistory.LastName = value.PersonalDetail.LastName; personStatusHistory.Gender = value.PersonalDetail.Gender; personStatusHistory.Age = value.PersonalDetail.Age ?? 0; personStatusHistory.LastEvent = item.Status; personStatusHistory.LastDateTime = item.StatusChangedDate; personStatusHistory.PersonTypeId = visitorTypePerson.PersonTypeId; } }