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);
     }
 }
    // Initialize variables for each state
    void ChangeStage(Stage to)
    {
        switch (to)
        {
        case Stage.FALLOUT:
            lastTick = tick;
            break;

        case Stage.LYNCH:
            victim = SelectByVote();
            break;

        case Stage.KILL:
            cycle++;
            victim = SelectRandom(killer);
            break;

        case Stage.END:
            break;
        }

        mafiaRenderer.Mark(Time.time);
        mafiaRenderer.ResetStep();
        stage = to;
    }
Exemplo n.º 3
0
 public static void LogBiometrics(Crewmember source, string data)
 {
     LogEntry(
         GetTimestamp() + ENDL
         + "BIOMETRICS AI -- " + source.name.ToUpper()
         + ", " + source.firstName.ToUpper()
         + data + ENDL
         );
 }
Exemplo n.º 4
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 crews.
 /// </summary>
 /// <param name="crewmember">The crew member.</param>
 /// <param name="personMessages">The messages.</param>
 /// <param name="messageTypeList">The message Type Master List.</param>
 internal static void MapCrews(Crewmember crewmember, ListResult<DataAccess.Entities.PersonMessage> personMessages, ListResult<DataAccess.Entities.MessageType> messageTypeList)
 {
     var messageCollection = MessageMapper.MapCollection(personMessages.Items, crewmember.CrewmemberId, messageTypeList);
     if (messageCollection != null && messageCollection.Count > 0)
     {
         crewmember.HasMessage = true;
         crewmember.AssignMessages(messageCollection);
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// Maps the crew.
        /// </summary>
        /// <param name="staterooms">The staterooms.</param>
        /// <param name="shipDateTime">The ship date time.</param>
        /// <param name="safetyRoleList">The safety role list.</param>
        /// <param name="collection">The collection.</param>
        /// <param name="crew">The crew.</param>
        private static void MapCrew(IEnumerable<DataAccess.Entities.Stateroom> staterooms, DateTime? shipDateTime, IEnumerable<DataAccess.Entities.SafetyRole> safetyRoleList, Collection<Crewmember> collection, DataAccess.Entities.Crewmember crew)
        {
            var crewmember = new Crewmember
            {
                CrewmemberId = crew.CrewmemberId,
                CrewmemberTypeId = crew.CrewmemberTypeId,
                PersonalDetail = crew.PersonalDetail,
                Department = crew.DepartmentId,
                SecurityPhotoAddress = crew.SecurityPhotoAddress,
                EmployeeNo = crew.EmployeeNo,
                BoardingInfo = new BoardingInfo { OnboardDate = crew.EmbarkDetail.OnboardDate, AshoreDate = crew.EmbarkDetail.AshoreDate }
            };

            if (crew.CrewmemberRoles.Any())
            {
                var position = crew.CrewmemberRoles.FirstOrDefault();
                crewmember.Position = position != null ? position.RoleId : null;
            }

            var stateroom = staterooms != null ? staterooms.FirstOrDefault(a => a.StateroomId.Equals(crew.StateroomId, StringComparison.OrdinalIgnoreCase)) : null;
            if (stateroom != null)
            {
                crewmember.Stateroom = stateroom.StateroomNumber;
                crewmember.StateroomOccupancy = stateroom.Capacity.ToString(CultureInfo.CurrentCulture);
            }

            var safetyDuty = shipDateTime != null ? crew.SafetyDuties.FirstOrDefault(a => shipDateTime >= a.StartDate && shipDateTime <= a.EndDate) : null;
            var safetyRoleId = safetyDuty != null ? safetyDuty.SafetyRoleId : null;
            var safetyRole = safetyRoleId != null ? safetyRoleList.FirstOrDefault(a => a.SafetyRoleId.Equals(safetyRoleId, StringComparison.OrdinalIgnoreCase)) : null;
            crewmember.SafetyNumber = safetyRole != null ? safetyRole.SafetyNumber : null;

            crewmember.PersonalDetail = crewmember.PersonalDetail ?? new PersonalDetail();

            var passportDetail = crew.Identifications.FirstOrDefault(a => a.DocumentTypeId.Equals(ApplicationSetting.DocumentTypeId, StringComparison.OrdinalIgnoreCase));
            if (passportDetail != null)
            {
                crewmember.PersonalDetail.DocumentNumber = passportDetail.Number;
                crewmember.PersonalDetail.DocumentTypeId = passportDetail.DocumentTypeId;
            }
            else
            {
                var identificationDetail = crew.Identifications.FirstOrDefault();
                if (identificationDetail != null)
                {
                    crewmember.PersonalDetail.DocumentNumber = identificationDetail.Number;
                    crewmember.PersonalDetail.DocumentTypeId = identificationDetail.DocumentTypeId;
                }
            }

            if (crew.CrewmemberAccessCards.Count > 0)
            {
                crewmember.AssignCrewmemberAccessCard(crew.CrewmemberAccessCards);
            }

            collection.Add(crewmember);
        }
Exemplo n.º 7
0
        public string Render(Crewmember host, Crewmember target)
        {
            if (message == "?" || message == "...")
            {
                return(message);
            }

            return(host.name + FormatString(message, host, target)
                   + (target == null ? "" : target.name)
                   + FormatString(finisher, host, target));
        }
    protected override void Start()
    {
        base.Start();
        cycleOffset = Random.Range(999, 9999);

        ReplaceEntities();
        killer = SelectRandom();
        ChangeStage(stage);

        // Render
        mafiaRenderer.Load();
        mafiaRenderer.RenderStart(reference.entities);
    }
Exemplo n.º 9
0
    // Lynch
    public bool RenderLynch(
        Crewmember victim, Crewmember killer,
        Dictionary <Crewmember, Crewmember> accusations
        )
    {
        Step(0,
             "The group appears to be arguing and gesturing wildly",
             "They are arguing over the likely killer"
             );

        string a = "";

        foreach (Crewmember member in accusations.Keys)
        {
            a += "\n" + member.name + " points at " + accusations[member].name;
        }

        Step(1, a);

        if (Sleep(1))
        {
            return(false);
        }

        Step(2,
             "<color=red>" + victim.Title + " is iced.</color>"
             );

        Step(3,
             "The group investigates " + victim.name + "'s body",
             "They are looking for evidence."
             );

        if (Sleep(3))
        {
            return(false);
        }

        bool   match = victim == killer;
        string color = match ? "cyan" : "#fc4e4e";

        Step(4,
             match ?
             RandomMessage("evidence")
        : "No evidence to incriminate " + victim.name + " is found.",
             "<color=" + color + ">" + victim.name + " "
             + (match ? "is" : "is NOT") + " the killer.</color>"
             );

        return(step == 5);
    }
Exemplo n.º 10
0
    // End
    public void RenderEnd(
        Crewmember killer, Crewmember last, ICollection <IEntity> entities
        )
    {
        Step(0, last.name + " reaches for the camera and breaks the connection");

        if ((killer as IDestroyable).Destroy)
        {
            bool   single = entities.Count == 1;
            string s      = "The killer, " + killer.name + ", is dead--only ";

            int i = 0;
            foreach (IEntity e in entities)
            {
                if (!single && i == entities.Count - 1)
                {
                    s += " and ";
                }

                s += (e as Crewmember).Title;

                if (!single && i < entities.Count - 2)
                {
                    s += ", ";
                }

                i++;
            }

            s += " " + (single ? "remains" : "remain") + ".";

            Step(1, s);
        }

        else
        {
            Step(1,
                 "Everyone is dead--only " + last.name
                 + ", the killer, remains."
                 );
        }

        Step(2, "[ END TRANSCRIPT ]", log: false);

        if (step == 3)
        {
            Render.WriteToFile(Mafia.DATAPATH, "log");
            step++;
        }
    }
Exemplo n.º 11
0
        // Fill in pronouns
        string FormatString(string s, Crewmember host, Crewmember target)
        {
            if (s.Length < 4)
            {
                return(s == "%ns" ? "" : s);
            }

            string first = s.Substring(0, 3), last = s.Substring(s.Length - 3, 3);

            s = (first == "%ns" ? s.Substring(3, s.Length - 3) : " " + s)
                .Replace("%p", host.pronoun)
                .Replace("%tp", target == null ? "?" : target.pronoun);

            return(last == "%ns" ? s.Substring(0, s.Length - 3)
        : target == null ? s : s + " ");
        }
Exemplo n.º 12
0
        /// <summary>
        /// Maps the user by crew.
        /// </summary>
        /// <param name="crewmember">The crewmember.</param>
        /// <returns>User object</returns>
        public static User MapUserByCrew(Crewmember crewmember)
        {
            User user = null;
            if (crewmember != null && crewmember.PersonalDetail != null)
            {
                user = new User();
                user.FirstName = crewmember.PersonalDetail.FirstName;
                user.LastName = crewmember.PersonalDetail.LastName;
                user.MiddleName = crewmember.PersonalDetail.MiddleName;
                user.PersonId = crewmember.CrewmemberId;
                user.ImageAddress = crewmember.SecurityPhotoAddress;
                user.DepartmentId = crewmember.DepartmentId;                
            }

            return user;
        }
Exemplo n.º 13
0
        /// <summary>
        /// Maps the crew.
        /// </summary>
        /// <param name="crewmembers">The crew members.</param>
        /// <returns>crew member collection.</returns>
        internal static ListResult<Crewmember> MapCrew(ListResult<Entities.Crewmember> crewmembers)
        {
            var list = new ListResult<Crewmember>();

            foreach (var crew in crewmembers.Items)
            {
                var crewmember = new Crewmember
                {
                    CrewmemberId = crew.CrewmemberId,
                    PersonalDetail = crew.PersonalDetail
                };

                list.Items.Add(crewmember);
            }

            list.TotalResults = crewmembers.TotalResults;
            return list;
        }
Exemplo n.º 14
0
    public virtual void Perform(CharacterActionInfo info)
    {
        int i = Random.Range(0, observations.Length);
        int j = Random.Range(0, analyses.Length);

        Crewmember self = info.character as Crewmember, target = null;

        foreach (IEntity e in info.targets)
        {
            target = e as Crewmember;
            break;
        }

        Render.Log(
            observations[i].Render(self, target),
            analyses[j].Render(self, target)
            );
    }
    Crewmember SelectByVote()
    {
        Dictionary <Crewmember, int> votes = new Dictionary <Crewmember, int>();

        accusations = new Dictionary <Crewmember, Crewmember>();

        foreach (IEntity e in reference.entities)
        {
            // Skip dead Entities
            if ((e as IDestroyable).Destroy)
            {
                continue;
            }

            var        member = e as Crewmember;
            Crewmember target = member.ChooseVote();
            accusations[member] = target;

            if (!votes.ContainsKey(target))
            {
                votes[target] = 1;
            }
            else
            {
                votes[target]++;
            }
        }

        Crewmember selected = null;
        int        best     = -1;

        foreach (var entry in votes)
        {
            if (entry.Value > best)
            {
                selected = entry.Key;
                best     = entry.Value;
            }
        }

        return(selected);
    }
Exemplo n.º 16
0
    static void Main(string[] args)
    {
        string keypress = null;

        keypress = Console.ReadLine();

        while (keypress != null)
        {
            var newActor = new Crewmember("Dave", "Male", "Human", 0, 100, 0, 2.ToString(), "Cooking");
            newActor.Age    = newActor.GenerateAge();
            newActor.Name   = newActor.GenerateName("Male");
            newActor.Gender = newActor.GenerateGender();
            Console.WriteLine("The age is " + newActor.Age);
            Console.WriteLine("The name is " + newActor.Name);
            Console.WriteLine("The Gender is " + newActor.Gender);
            Console.WriteLine("The Rank is " + newActor.rank);
            Console.WriteLine("The Position is " + newActor.position);
            Console.WriteLine("The Specialty is " + newActor.speciality);


            Console.ReadLine();
        }
    }
Exemplo n.º 17
0
    public bool RenderKill(
        Crewmember victim, int cycle, int offset, Crewmember lastKiller
        )
    {
        Step(0,
             "[ SHIP CYCLE " + (cycle + offset) + " ]", log: false
             );

        if (Sleep(0))
        {
            return(false);
        }

        if (step == 1)
        {
            Render.IncrementCycle();
        }

        Step(1,
             (lastKiller != null ? lastKiller.name : "The crew")
             + " " + RandomMessage("enter")
             );

        if (Sleep(1))
        {
            return(false);
        }

        Step(2,
             "<color=red>" + victim.Title + " "
             + RandomMessage("missing") + "</color>",
             cycle == 1 ? "?" : victim.name + " has been murdered."
             );

        return(step == 3);
    }
Exemplo n.º 18
0
    public void RenderStart(ICollection <IEntity> entities)
    {
        ConsoleReader.Node root;
        ConsoleReader.LoadFile(Mafia.DATAPATH + "foreword.txt", out root);

        foreach (ConsoleReader.Node line in root)
        {
            if (line.data != "")
            {
                Render.Print(line.data);
            }
        }

        string register = "CREW REGISTER";

        foreach (IEntity entity in entities)
        {
            Crewmember c = entity as Crewmember;
            register += "\n" + c.name + ", " + c.firstName + " ... {" + c.role + "}";
        }

        Render.Print(register);
        Render.Print("[ BEGIN TRANSCRIPT ]");
    }
        /// <summary>
        /// Setups the manager.
        /// </summary>
        private void SetupData()
        {
            var alert = new Collection<Alert> { new Alert { AlertId = "12", AlertType = "2", Message = new Message { Description = "Test", ImageAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23", Subject = "Test" } } };

            this.crewmember = new Crewmember { CrewmemberId = "212", PersonalDetail = new PersonalDetail { AnniversaryDate = null, BirthCountryId = "123", Birthdate = null, CitizenshipCountryId = "212", FirstName = "AA", Gender = Gender.Male, LastName = "sa", MaritalStatus = "Married", MiddleName = string.Empty, Nickname = string.Empty, Occupation = "Doctor", PreferredName = "Nic", Suffix = "S", Title = "Mr." }, CrewmemberTypeId = "12", EmployeeNo = "221", HasAlert = true, SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23" };

            this.crewmember.AssignAlerts(alert);

            this.manager.Setup(data => data.GetByIdAsync("212")).Returns(Task.FromResult(this.crewmember));
        }
Exemplo n.º 20
0
        /// <summary>
        /// Maps the crew details.
        /// </summary>
        /// <param name="personStatus">The person status.</param>
        /// <param name="departments">The departments.</param>
        /// <param name="roles">The roles.</param>
        /// <param name="crewmember">The crew member.</param>
        private static void MapCrewDetails(ListResult<PersonStatus> personStatus, ListResult<DataAccess.Entities.Department> departments, ListResult<DataAccess.Entities.Role> roles, Crewmember crewmember)
        {
            var crewmemberStatus = personStatus.Items.Where(a => a.PersonId.Equals(crewmember.CrewmemberId) && a.StatusTypeId.Equals(OnboardConstant)).OrderByDescending(a => a.StatusChangedDate).FirstOrDefault();
            if (crewmemberStatus != null)
            {
                crewmember.LastEvent = crewmemberStatus.Status;
                crewmember.LastDateTime = crewmemberStatus.StatusChangedDate;
            }

            var department = departments.Items.FirstOrDefault(a => a.DepartmentId.Equals(crewmember.Department, StringComparison.OrdinalIgnoreCase));
            crewmember.Department = department != null ? department.Name : null;
            var role = roles.Items.FirstOrDefault(a => a.RoleId.Equals(crewmember.Position, StringComparison.OrdinalIgnoreCase));
            crewmember.Position = role != null ? role.Name : null;
        }
        /// <summary>
        /// Function to select crew member.
        /// </summary>
        /// <param name="crewmember">Instance of CrewMember</param>
        private void SelectCrewmember(Crewmember crewmember)
        {
            if (crewmember != null && !this.IsStopSelection)
            {
                PersonBase personBase = crewmember.MapToPersonBase();
                PersonSelectionService.SelectPerson(personBase);
                if (!this.IsShowPersonInfoIconClicked)
                {
                    this.ShowAgeVerificationPopupView();
                }
            }

            this.IsShowPersonInfoIconClicked = false;
            this.IsStopSelection = false;
        }
 /// <summary>
 /// Views the crewmember stateroom details.
 /// </summary>
 /// <param name="crewmember">The crewmember.</param>
 private void ViewCrewmemberStateroomDetails(Crewmember crewmember)
 {
     this.IsShowPersonInfoIconClicked = true;
     this.SelectCrewmember(crewmember);
     PersonBase personBase = crewmember.MapToPersonBase();
     Messenger.Instance.Notify(MessengerMessage.ShowPersonInfo, new Tuple<PersonBase, bool>(personBase, false));
 }
Exemplo n.º 23
0
        /// <summary>
        /// Function to manipulate alert for crew member.
        /// </summary>
        /// <param name="crewmember">Instance of Crewmember</param>
        private static void ManipulateAlertsForCrewmember(Crewmember crewmember)
        {
            var allowOnboardAlerts = crewmember.Alerts.FirstOrDefault(a => a.AlertType.Equals(CommonConstants.AllowOnboard, StringComparison.OrdinalIgnoreCase));
            if (allowOnboardAlerts != null)
            {
                crewmember.AllowOnboardAlert = allowOnboardAlerts;
                crewmember.Alerts.Remove(allowOnboardAlerts);
            }
            
            if (IsPortManningAlert(crewmember.PortAssignedDate))
            {
                crewmember.Alerts.Add(AlertService.CreateAlerts(PortManning));
            }

            crewmember.HasAlert = crewmember.Alerts.Count > 0;
        }
Exemplo n.º 24
0
        /// <summary>
        /// Fills the user details.
        /// </summary>
        /// <param name="crewmember">The crew member.</param>
        private void FillUserDetails(Crewmember crewmember)
        {
            this.workstation.User.UserName = this.LogOn.UserName;
            this.workstation.User.UserFullName = this.workstation.User.UserName.IsNumeric() ? string.Format(CultureInfo.CurrentCulture, "{0}, {1}", crewmember.PersonalDetail.LastName, crewmember.PersonalDetail.FirstName) : this.LogOn.UserName;
            this.workstation.User.Age = crewmember.PersonalDetail != null ? crewmember.PersonalDetail.Age : null;
            this.workstation.User.Gender = crewmember.PersonalDetail != null ? crewmember.PersonalDetail.Gender : string.Empty;

            if (string.IsNullOrEmpty(crewmember.SecurityPhotoAddress))
            {
                this.workstation.User.UserImage = null;
            }
            else
            {
                Observable.ToAsync(async () =>
                {
                    byte[] bytes = await crewmember.SecurityPhotoAddress.PersonImageAddressToByteArray();
                    this.workstation.User.UserImage = bytes.ToBitmapSource();
                })().Subscribe(r => { }, ex => { });
            }

            Messenger.Instance.Notify(MessengerMessage.NotifySystemInfoWorkstation);
        }
Exemplo n.º 25
0
        /// <summary>
        /// Maps the crew personal detail.
        /// </summary>
        /// <param name="dataReader">The data reader.</param>
        /// <returns>The crew member</returns>
        private static async Task<CrewmemberCollection> RetrieveCrewmemberPersonalDetail(SqlDataReader dataReader)
        {
            var crewmembers = new CrewmemberCollection();

            if (dataReader != null)
            {
                while (await dataReader.ReadAsync())
                {
                    var crewmember = new Crewmember();
                    crewmember.CrewmemberId = dataReader.Int32Field(CrewMemberId).ToString();
                    crewmember.PersonalDetail = new PersonalDetail();
                    crewmember.PersonalDetail.Age = dataReader.Int16NullableField(Age);
                    crewmember.PersonalDetail.AnniversaryDate = dataReader.DateTimeNullableField(AnniversaryDate);
                    crewmember.PersonalDetail.BirthCountryId = dataReader.Int32NullableField(BirthCountryId).ToString();
                    crewmember.PersonalDetail.Birthdate = dataReader.DateTimeNullableField(BirthDate);
                    crewmember.PersonalDetail.CitizenshipCountryId = dataReader.Int32NullableField(CitizenshipCountryId).ToString();
                    crewmember.PersonalDetail.FirstName = dataReader.StringField(FirstName);
                    crewmember.PersonalDetail.Gender = dataReader.StringField(Gender);
                    crewmember.PersonalDetail.LastName = dataReader.StringField(LastName);
                    crewmember.PersonalDetail.MaritalStatus = dataReader.StringField(MaritalStatus);
                    crewmember.PersonalDetail.MiddleName = dataReader.StringField(MiddleName);
                    crewmember.PersonalDetail.Nickname = dataReader.StringField(NickName);
                    crewmember.PersonalDetail.Occupation = dataReader.StringField(Occupation);
                    crewmember.PersonalDetail.DocumentNumber = dataReader.StringField(DocumentNumber);
                    crewmember.PersonalDetail.Suffix = dataReader.StringField(Suffix);
                    crewmember.PersonalDetail.Title = dataReader.StringField(Title);
                    crewmember.PersonalDetail.PreferredName = dataReader.StringField(PreferredName);
                    crewmember.BoardingInfo.OnboardDate = dataReader.DateTimeNullableField(OnboardDate);
                    crewmember.BoardingInfo.AshoreDate = dataReader.DateTimeNullableField(AshoreDate);                    

                    crewmembers.Add(crewmember);
                }
            }

            return crewmembers;
        }
Exemplo n.º 26
0
 /// <summary>
 /// Function to retrieve photo of Crewmember.
 /// </summary>
 /// <param name="crewmember">Instance of Crewmember</param>
 private static void RetrieveCrewmemberPhoto(Crewmember crewmember)
 {
     Observable.ToAsync(() =>
     {
         var person = new Person();
         var crewmemberCollection = new CrewmemberCollection();
         crewmemberCollection.Add(crewmember);
         person.AssignCrewmembers(crewmemberCollection);
         DIContainer.Instance.Resolve<PhotoService>().RetrievePhotos(person);
     })().Subscribe(r => { }, ex => { });
 }
Exemplo n.º 27
0
        public async Task RetrieveUserByUserAccountIdTest()
        {
            var crewmember = new Crewmember
            {
                CrewmemberId = "1",
                CrewmemberStatusId = "2",
                AddedDate = DateTime.Now,
                CrewmemberTypeId = "1",
                DepartmentId = "2",
                EmployeeNo = "3",
                IsActive = true,
                LastModifiedDate = DateTime.Now,
                RoleId = "2",
                SecurityPhotoAddress = "dd",
                ShipId = "4",
                SourceId = "4",
                StateroomId = "d",
                UserAccountId = "4",
            };

            crewmember.PersonalDetail = new PersonalDetail
            {
                Birthdate = DateTime.Now,
                CitizenshipCountryId = "1",
                DepartmentId = "3",
                DepartmentPOC = "f",
                Email = "*****@*****.**",
                FirstName = "gyze",
                Gender = "M",
                LastName = "ddefff",
                MaritalStatus = "single",
                MiddleName = "fffsd",
                Note = "dfe",
                Occupation = "faer",
                PassportNo = "344345456",
                Title = "Mr",
                VisitorCardId = "3"
            };

            this.crewRepository.Setup(mockItem => mockItem.RetrieveCrewmemberByUserAccountId(It.IsAny<string>())).Returns(Task.FromResult(crewmember));
            var alert = await this.crewData.RetrieveUserByUserAccountId("1");
            Assert.IsNotNull(alert);
            Assert.AreEqual(alert.PersonId, crewmember.CrewmemberId);
        }
 /// <summary>
 /// Function to place crew member onboard.
 /// </summary>
 /// <param name="crewmember">Instance of Crewmember</param>
 private void PlaceCrewmemberOnboard(Crewmember crewmember)
 {
     if (!crewmember.IsOnboard)
     {
         ChangeCrewmemberBoardingStatus(crewmember);
     }
 }
Exemplo n.º 29
0
 private void ResetSanity(Crewmember crewmember)
 {
     crewmember.sanity = crewmember.maxSanity;
     crewmember.potentialFearIntensity = 0;
     sanityPostProcessing.weight       = 0;
 }
Exemplo n.º 30
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataReader"></param>
        /// <returns></returns>
        public static async Task<Crewmember> MapUserDetails(SqlDataReader dataReader)
        {
            var crew = new Crewmember();
            if (dataReader != null)
            {
                while (await dataReader.ReadAsync())
                {
                    crew.CrewmemberId = dataReader.Int32Field(CrewMemberId).ToString();
                    crew.PersonalDetail = new PersonalDetail();
                    crew.PersonalDetail.Title = dataReader.StringField(Title);
                    crew.PersonalDetail.FirstName = dataReader.StringField(FirstName);
                    crew.PersonalDetail.MiddleName = dataReader.StringField(MiddleName);
                    crew.PersonalDetail.LastName = dataReader.StringField(LastName);
                    crew.PersonalDetail.Nickname = dataReader.StringField(NickName);
                    crew.PersonalDetail.PreferredName = dataReader.StringField(PreferredName);
                    crew.PersonalDetail.Suffix = dataReader.StringField(Suffix);
                    crew.PersonalDetail.Gender = dataReader.StringField(Gender);
                    crew.PersonalDetail.Age = dataReader.Int32Field(Age);
                    crew.SecurityPhotoAddress = dataReader.StringField(SecurityPhotoAddress);
                    byte[] bytes = await crew.SecurityPhotoAddress.ImageAddressToByteArray();
                    crew.Photo = bytes.ToBitmapSource();
                    crew.AssignPhotoByteArray(new Collection<byte>(bytes));
                }
            }

            return crew;
        }
Exemplo n.º 31
0
        /// <summary>
        /// Maps the crew.
        /// </summary>
        /// <param name="dataReader">The data reader.</param>
        /// <returns>Crew member collection</returns>
        private static async Task<CrewmemberCollection> MapCrew(SqlDataReader dataReader)
        {
            var crewmemberCollection = new CrewmemberCollection();
            if (dataReader != null)
            {
                while (await dataReader.ReadAsync())
                {
                    var crew = new Crewmember();

                    crew.CrewmemberId = dataReader.Int32Field(CrewMemberId).ToString();
                    crew.CrewmemberTypeId = dataReader.ByteField(CrewMemberTypeId).ToString();
                    crew.EmployeeNo = dataReader.StringField(EmployeeNo);
                    var hasAlert = dataReader.BooleanNullableField(HasAlert);
                    var hasMessage = dataReader.BooleanNullableField(HasMessage);
                    crew.HasAlert = hasAlert.HasValue ? hasAlert.Value : false;
                    crew.HasMessage = hasMessage.HasValue ? hasMessage.Value : false;
                    crew.Position = dataReader.StringField(Position);
                    crew.LastDateTime = dataReader.DateTimeNullableField(LastDateTime);
                    crew.LastEvent = dataReader.StringField(LastEvent);
                    crew.SafetyNumber = dataReader.StringField(SafetyNumber);
                    crew.SecurityPhotoAddress = dataReader.StringField(SecurityPhotoAddress);
                    crew.Stateroom = dataReader.StringField(Stateroom);
                    crew.StateroomOccupancy = dataReader.ByteField(StateroomOccupancy).ToString();
                    crew.Department = dataReader.StringField(Department);
                    crew.PortAssignedDate = dataReader.DateTimeNullableField(PortAssignedDate);

                    byte[] bytes = await crew.SecurityPhotoAddress.ImageAddressToByteArray();
                    crew.Photo = bytes.ToBitmapSource();
                    crew.AssignPhotoByteArray(new Collection<byte>(bytes));
                    crewmemberCollection.Add(crew);
                }
            }

            return crewmemberCollection;
        }
        /// <summary>
        /// Changes the selected crew member.
        /// </summary>
        /// <param name="crewmember">The crew member.</param>
        private static void ChangeCrewmemberBoardingStatus(Crewmember crewmember)
        {
            if (crewmember != null)
            {
                PersonBase personBase = crewmember.MapToPersonBase();
                PersonSelectionService.SelectPerson(personBase);

                Messenger.Instance.Notify(MessengerMessage.ChangePersonBoardingStatus, personBase);
            }
        }
Exemplo n.º 33
0
 /// <summary>
 /// Updates the image.
 /// </summary>
 /// <param name="crewmemberId">The crew member identifier.</param>
 /// <param name="crew">The crew.</param>
 /// <returns>Task instance.</returns>
 public async Task UpdateImage(string crewmemberId, Crewmember crew)
 {
     await this.crewServiceClient.UpdateCrewmemberAsync(crewmemberId: crewmemberId, crewmember: JsonConvert.SerializeObject(crew));
 }
 /// <summary>
 /// Shows the crew message.
 /// </summary>
 /// <param name="crew">The crew.</param>
 private void ShowCrewMessage(Crewmember crew)
 {
     PersonBase personBase = crew.MapToPersonBase();
     PersonSelectionService.SelectPerson(personBase);
     this.ShowMessagePopUp(personBase);
 }
Exemplo n.º 35
0
        /// <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);
                }
            }
        }
        /// <summary>
        /// Setups the data.
        /// </summary>
        private void SetupData()
        {
            var alert = new Collection<Alert> { new Alert { AlertId = "12", AlertType = "2", Message = new Message { Description = "Test", ImageAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23", Subject = "Test" } } };
            var department = new DataAccess.Entities.Department { Name = "Development", DepartmentId = "1" };
            this.crewmember = new Crewmember { CrewmemberId = "1", Position = "1", Department = "1", PersonalDetail = new PersonalDetail { AnniversaryDate = null, BirthCountryId = "123", Birthdate = null, CitizenshipCountryId = "212", FirstName = "AA", Gender = Gender.Male, LastName = "sa", MaritalStatus = "Married", MiddleName = string.Empty, Nickname = string.Empty, Occupation = "Doctor", PreferredName = "Nic", Suffix = "S", Title = "Mr." }, CrewmemberTypeId = "12", EmployeeNo = "221", HasAlert = true, SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23" };
            var departmentList = new ListResult<DataAccess.Entities.Department>();
            departmentList.Items.Add(department);
            this.crewmember.AssignAlerts(alert);

            var role = new DataAccess.Entities.Role { RoleId = "1", Name = "SE" };
            var roleList = new ListResult<DataAccess.Entities.Role>();
            roleList.Items.Add(role);

            this.crewMemberRepository.Setup(data => data.GetDepartmentListAsync("1")).Returns(Task.FromResult(departmentList));
            this.crewMemberRepository.Setup(data => data.GetRoleListAsync("1")).Returns(Task.FromResult(roleList));
            this.crewMemberRepository.Setup(data => data.GetByIdAsync("1")).Returns(Task.FromResult(this.crewmember));
        }