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))); } }
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); }
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))); }