Exemplo n.º 1
0
 /// <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);
     }
 }
Exemplo n.º 2
0
 /// <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);
                }
            }
        }