Example #1
0
        public static Models.Db.Evacuee ToModel(this ViewModels.Person source)
        {
            var result = new Models.Db.Evacuee();

            if (source.Id != null)
            {
                result.RegistrationId        = Models.Db.Evacuee.GetEvacueeRegistrationIdFromIncidentRegSeqId(source.Id);
                result.EvacueeSequenceNumber = Models.Db.Evacuee.GetEvacueeSequenceNumberFromIncidentRegSeqId(source.Id);
            }

            result.FirstName = source.FirstName;
            result.LastName  = source.LastName;

            if (source is ViewModels.Evacuee sourceEvacuee)
            {
                result.Nickname = sourceEvacuee.Nickname;
                result.Initials = sourceEvacuee.Initials;
                result.Gender   = source.Gender;
                result.Dob      = sourceEvacuee.Dob;
            }

            if (source is ViewModels.HeadOfHousehold sourceHoh)
            {
                result.EvacueeSequenceNumber = 1;
                result.EvacueeTypeCode       = EvacueeType.HeadOfHousehold.GetDisplayName();
            }

            if (source is ViewModels.FamilyMember sourceFm)
            {
                result.EvacueeTypeCode       = sourceFm.RelationshipToEvacuee.Code;
                result.SameLastNameAsEvacuee = sourceFm.SameLastNameAsEvacuee;
            }

            return(result);
        }
Example #2
0
 private string MapPrintEvacueeTypeCode(Models.Db.Evacuee evacuee)
 {
     if (evacuee.EvacueeType == Models.Db.Enumerations.EvacueeType.HeadOfHousehold)
     {
         return("F");
     }
     if (evacuee.Dob.HasValue && evacuee.Dob.Value > DateTime.Now.AddYears(-12))
     {
         return("C");
     }
     return("A");
 }
Example #3
0
        public static ViewModels.Person ToViewModel(this Models.Db.Evacuee source, Models.Db.EvacueeRegistration evacueeRegistration)
        {
            ViewModels.Person result;
            var isHeadOfHousehold = false;

            if (source.EvacueeTypeCode == EvacueeType.HeadOfHousehold.GetDisplayName())
            {
                result            = new ViewModels.HeadOfHousehold();
                isHeadOfHousehold = true;
            }
            else
            {
                result = new ViewModels.FamilyMember();
            }

            result.Id = source.RegistrationIdSeq;

            result.FirstName = source.FirstName;
            result.LastName  = source.LastName;

            if (isHeadOfHousehold)
            {
                var resultHoh = result as ViewModels.HeadOfHousehold;
                resultHoh.PhoneNumber    = evacueeRegistration.PhoneNumber;
                resultHoh.PhoneNumberAlt = evacueeRegistration.PhoneNumberAlt;
                resultHoh.Email          = evacueeRegistration.Email;

                resultHoh.PrimaryResidence = evacueeRegistration.EvacueeRegistrationAddresses.Single(a => a.AddressType == AddressType.Primary).ToViewModel();
                if (evacueeRegistration.EvacueeRegistrationAddresses.Any(a => a.AddressType == AddressType.Mailing))
                {
                    resultHoh.MailingAddress = evacueeRegistration.EvacueeRegistrationAddresses.Single(a => a.AddressType == AddressType.Mailing).ToViewModel();
                }

                var familyMembers = evacueeRegistration.Evacuees.Where(e => e.EvacueeTypeCode != EvacueeType.HeadOfHousehold.GetDisplayName());
                if (familyMembers.Any())
                {
                    resultHoh.FamilyMembers = new List <ViewModels.FamilyMember>();
                    foreach (var familyMember in familyMembers)
                    {
                        resultHoh.FamilyMembers.Add(familyMember.ToViewModel(evacueeRegistration) as ViewModels.FamilyMember);
                    }
                }
            }

            var resultEvacuee = result as ViewModels.Evacuee;

            resultEvacuee.Nickname = source.Nickname;
            resultEvacuee.Initials = source.Initials;
            resultEvacuee.Gender   = source.Gender;
            resultEvacuee.Dob      = source.Dob;

            if (!isHeadOfHousehold)
            {
                var resultFm = result as ViewModels.FamilyMember;
                resultFm.RelationshipToEvacuee = mapper.Map <ViewModels.FamilyRelationshipType>(source.EvacueeTypeCode == EvacueeType.ImmediateFamily.GetDisplayName()
                    ? EvacueeType.ImmediateFamily
                    : EvacueeType.ExtendedFamily);
                resultFm.SameLastNameAsEvacuee = source.SameLastNameAsEvacuee;
            }
            return(result);
        }