public virtual ActionResult EditContactInfo(string username, bool editingMyRecord, ContactInfo contactInfo)
        {
            this.Validate(contactInfo, string.Empty);
            var person = userRepository.GetUser(username).Person;

            if (!string.IsNullOrEmpty(contactInfo.AddressState))
            {
                if (USState.FromAbbreviation(contactInfo.AddressState.ToUpper()) == null)
                {
                    ModelState.AddModelError("State", "Must be a valid US state abbreviation.");
                }
            }
            if (!ModelState.IsValid)
            {
                return(View(MVC.PersonnelRecords.Views.EditRecord, GeneratePersonnelRecordViewModel(person, editingMyRecord)));
            }
            Mapper.Map <ContactInfo, Person>(contactInfo, person);
            if (editingMyRecord)
            {
                return(RedirectToAction(MVC.PersonnelRecords.EditMyRecord()));
            }
            else
            {
                return(RedirectToAction(MVC.PersonnelRecords.EditRecord(username)));
            }
        }
예제 #2
0
        object IUserType.NullSafeGet(IDataReader rs, string[] names, object owner)
        {
            var val = NHibernateUtil.String.NullSafeGet(rs, names);

            if (val == null)
            {
                return(null);
            }
            var state = USState.FromAbbreviation(val.ToString());

            if (state == null)
            {
                throw new InvalidCastException("Invalid US State Abbreviation");
            }
            return(state);
        }
예제 #3
0
 private static void Setup_PersonnelRecordViewModel()
 {
     Mapper.CreateMap <Person, PersonnelRecordViewModel>()
     .ForMember(x => x.Username, m => m.MapFrom(x => x.User.Username))
     .ForMember(x => x.PersonalInfo, m => m.MapFrom(x => x))
     .ForMember(x => x.ContactInfo, m => m.MapFrom(x => x))
     .ForMember(x => x.CompanyInfo, m => m.MapFrom(x => x))
     .ForMember(x => x.EditingMyRecord, m => m.Ignore())
     .ForMember(x => x.HirePositions, m => m.Ignore());
     Mapper.CreateMap <Person, PersonalInfo>()
     .ForMember(x => x.FirstName, m => m.MapFrom(x => x.User.FirstName))
     .ForMember(x => x.LastName, m => m.MapFrom(x => x.User.LastName))
     .ForMember(x => x.Email, m => m.MapFrom(x => x.User.Email));
     Mapper.CreateMap <Person, ContactInfo>()
     .ForMember(x => x.AddressState, m => m.MapFrom(x => x.Address != null ? x.Address.State.Abbreviation : null));
     Mapper.CreateMap <Person, CompanyInfo>()
     .ForMember(x => x.HirePositionId, m => m.MapFrom(x => x.HirePosition != null ? x.HirePosition.Id : null));
     Mapper.CreateMap <PersonalInfo, Person>()
     .ForMember(x => x.Id, m => m.Ignore())
     .ForMember(x => x.User, m => m.Ignore())
     .ForMember(x => x.Qualifications, m => m.Ignore())
     .ForMember(x => x.Address, m => m.Ignore())
     .ForMember(x => x.AlternateEmail, m => m.Ignore())
     .ForMember(x => x.AlternatePhoneNumber, m => m.Ignore())
     .ForMember(x => x.EmergencyContactName, m => m.Ignore())
     .ForMember(x => x.EmergencyContactPhoneNumber, m => m.Ignore())
     .ForMember(x => x.FlightSuitSize, m => m.Ignore())
     .ForMember(x => x.HirePosition, m => m.Ignore())
     .ForMember(x => x.PrimaryPhoneNumber, m => m.Ignore())
     .ForMember(x => x.ShirtSize, m => m.Ignore())
     .ForMember(x => x.DateOfBirth, m => m.MapFrom(x => x.DateOfBirth.HasValue ? x.DateOfBirth.Value.ToUniversalTime() : (DateTime?)null))
     .AfterMap((x, y) =>
     {
         y.User.FirstName = x.FirstName;
         y.User.LastName  = x.LastName;
         y.User.Email     = x.Email;
     });
     Mapper.CreateMap <ContactInfo, Person>()
     .ForMember(x => x.Id, m => m.Ignore())
     .ForMember(x => x.User, m => m.Ignore())
     .ForMember(x => x.Qualifications, m => m.Ignore())
     .ForMember(x => x.FlightSuitSize, m => m.Ignore())
     .ForMember(x => x.HirePosition, m => m.Ignore())
     .ForMember(x => x.ShirtSize, m => m.Ignore())
     .ForMember(x => x.MiddleInitial, m => m.Ignore())
     .ForMember(x => x.DateOfBirth, m => m.Ignore())
     .ForMember(x => x.Gender, m => m.Ignore())
     .ForMember(x => x.SocialSecurityLastFour, m => m.Ignore())
     .ForMember(x => x.Address, m => m.MapFrom(x =>
     {
         return(new USAddress
         {
             StreetAddress = x.AddressStreetAddress,
             City = x.AddressCity,
             State = USState.FromAbbreviation(x.AddressState.ToUpper()),
             ZipCode = x.AddressZipCode,
         });
     }))
     .ForMember(x => x.PrimaryPhoneNumber, m => m.MapFrom(x => RegExLib.ParseRegEx(x.PrimaryPhoneNumber, RegExLib.USPhoneNumber)))
     .ForMember(x => x.AlternatePhoneNumber, m => m.MapFrom(x => RegExLib.ParseRegEx(x.AlternatePhoneNumber, RegExLib.USPhoneNumber)))
     .ForMember(x => x.EmergencyContactPhoneNumber, m => m.MapFrom(x => RegExLib.ParseRegEx(x.EmergencyContactPhoneNumber, RegExLib.USPhoneNumber)));
     Mapper.CreateMap <CompanyInfo, Person>()
     .ForMember(x => x.Id, m => m.Ignore())
     .ForMember(x => x.User, m => m.Ignore())
     .ForMember(x => x.Qualifications, m => m.Ignore())
     .ForMember(x => x.Address, m => m.Ignore())
     .ForMember(x => x.AlternateEmail, m => m.Ignore())
     .ForMember(x => x.AlternatePhoneNumber, m => m.Ignore())
     .ForMember(x => x.EmergencyContactName, m => m.Ignore())
     .ForMember(x => x.EmergencyContactPhoneNumber, m => m.Ignore())
     .ForMember(x => x.HirePosition, m => m.Ignore())
     .ForMember(x => x.PrimaryPhoneNumber, m => m.Ignore())
     .ForMember(x => x.MiddleInitial, m => m.Ignore())
     .ForMember(x => x.DateOfBirth, m => m.Ignore())
     .ForMember(x => x.Gender, m => m.Ignore())
     .ForMember(x => x.SocialSecurityLastFour, m => m.Ignore());
     Mapper.CreateMap <User, PersonnelRecordListViewModel>()
     .ForMember(x => x.FileByName, m => m.MapFrom(x => x.FileByName()))
     .ForMember(x => x.Status, m => m.MapFrom(x => PersonnelRecordListViewModel.GetStatus(x)));
 }