/// <summary> /// Crews the member mapper. /// </summary> /// <param name="crewmemberCollection">The crew member collection.</param> /// <param name="crew">The object of personBase.</param> public static void CrewmemberMapper(CrewmemberCollection crewmemberCollection, PersonBase crew) { var crewmember = new Crewmember(); if (crew != null && crewmemberCollection != null) { crewmember.CrewmemberId = crew.PersonId; crewmember.PersonalDetail = crew.PersonalDetail; crewmember.Photo = crew.Photo; crewmember.SecurityPhotoAddress = crew.SecurityPhotoAddress; crewmember.EmployeeNo = crew.EmployeeNo; crewmember.IsOnboard = crew.IsOnboard; crewmember.AreAllMessagesGotAcknowledged = crew.AreAllMessagesGotAcknowledged; crewmember.LastDateTime = crew.LastDateTime; crewmember.LastEvent = crew.LastEvent; crewmember.Stateroom = crew.Stateroom; crewmember.HasAlert = crew.HasAlert; crewmember.HasMessage = crew.HasMessage; crewmember.Department = crew.Department; crewmember.StateroomOccupancy = crew.StateroomOccupancy; crewmember.Position = crew.Position; crewmember.AssignAlerts(crew.Alerts); crewmember.AssignMessages(crew.Messages); crewmember.BoardingInfo.OnboardDate = crew.BoardingInfo.OnboardDate; crewmember.BoardingInfo.AshoreDate = crew.BoardingInfo.AshoreDate; crewmember.AllowOnboardAlert = crew.AllowOnboardAlert; crewmember.PortAssignedDate = crew.PortAssignedDate; crewmemberCollection.Add(crewmember); } }
/// <summary> /// Maps the crews. /// </summary> /// <param name="crewmember">The crew member.</param> /// <param name="alerts">The alerts.</param> /// <param name="personAlerts">The person alerts.</param> /// <param name="alertTypeList">The alert Type Master List.</param> internal static void MapCrews(Crewmember crewmember, ListResult<DataAccess.Entities.Alert> alerts, ListResult<DataAccess.Entities.PersonAlert> personAlerts, ListResult<DataAccess.Entities.AlertType> alertTypeList) { var alertCollection = AlertMapper.MapCollection(alerts.Items, personAlerts.Items, crewmember.CrewmemberId, alertTypeList); if (alertCollection != null && alertCollection.Count > 0) { crewmember.HasAlert = true; crewmember.AssignAlerts(alertCollection); } }
/// <summary> /// Maps the crew member data. /// </summary> /// <param name="crewMember">The crew member.</param> /// <param name="persons">The persons.</param> /// <param name="eventType">Type of the event.</param> private static void MapCrewMemberData(Crewmember crewMember, Person persons, NotificationEventType eventType) { var selectedPerson = RetrieveSelectedPerson(); Crewmember retrievedcrewMember = persons.Crewmembers.FirstOrDefault(); if (crewMember != null) { if (eventType == NotificationEventType.PersonData) { crewMember.PersonalDetail.FirstName = retrievedcrewMember.PersonalDetail.FirstName; crewMember.PersonalDetail.LastName = retrievedcrewMember.PersonalDetail.LastName; crewMember.PersonalDetail.Gender = retrievedcrewMember.PersonalDetail.Gender; crewMember.PersonalDetail.Age = retrievedcrewMember.PersonalDetail.Age; crewMember.PersonalDetail.Birthdate = retrievedcrewMember.PersonalDetail.Birthdate; crewMember.SecurityPhotoAddress = retrievedcrewMember.SecurityPhotoAddress; crewMember.Stateroom = retrievedcrewMember.Stateroom; crewMember.PersonalDetail.Country = RetriveCountry(retrievedcrewMember.PersonalDetail); if (crewMember.PersonalDetail.Country != null) { crewMember.PersonalDetail.Country.Name = retrievedcrewMember.PersonalDetail.Country.Name; } crewMember.Department = retrievedcrewMember.Department; crewMember.Position = retrievedcrewMember.Position; crewMember.PersonalDetail.DocumentNumber = retrievedcrewMember.PersonalDetail.DocumentNumber; crewMember.BoardingInfo.OnboardDate = retrievedcrewMember.BoardingInfo.OnboardDate; crewMember.BoardingInfo.AshoreDate = retrievedcrewMember.BoardingInfo.AshoreDate; } else if (eventType == NotificationEventType.BoardingStatus) { crewMember.IsOnboard = retrievedcrewMember.IsOnboard; crewMember.LastEvent = retrievedcrewMember.LastEvent; crewMember.LastDateTime = retrievedcrewMember.LastDateTime; if (crewMember.CrewmemberId.Equals(selectedPerson.PersonId, StringComparison.OrdinalIgnoreCase)) { selectedPerson.IsOnboard = retrievedcrewMember.IsOnboard; selectedPerson.LastEvent = retrievedcrewMember.LastEvent; selectedPerson.LastDateTime = retrievedcrewMember.LastDateTime; } } else if (eventType == NotificationEventType.Alert) { crewMember.HasAlert = retrievedcrewMember.HasAlert; crewMember.AssignAlerts(retrievedcrewMember.Alerts); selectedPerson.HasAlert = retrievedcrewMember.HasAlert; selectedPerson.AssignAlerts(retrievedcrewMember.Alerts); Messenger.Instance.Notify(MessengerMessage.NotifyPersonAlert, selectedPerson); Messenger.Instance.Notify(MessengerMessage.NotifyAlertDetails, selectedPerson); } else if (eventType == NotificationEventType.Message) { var messageAcknowledge = retrievedcrewMember.Messages.All(m => m.StatusId.Equals(CommonConstants.MessageAcknowledgeStatusId)); crewMember.AreAllMessagesGotAcknowledged = messageAcknowledge; crewMember.AssignMessages(retrievedcrewMember.Messages); selectedPerson.AreAllMessagesGotAcknowledged = messageAcknowledge; selectedPerson.AssignPersonMessages(retrievedcrewMember.Messages); Messenger.Instance.Notify(MessengerMessage.NotifyPersonMessage, selectedPerson); Messenger.Instance.Notify(MessengerMessage.NotifyMessageDetails, selectedPerson); } } }