private PracticeHomeControllerViewModel GetViewModel() { var timeZoneId = this.DbPractice.WindowsTimeZoneId; var timeZone = Enum.GetValues(typeof(TypeTimeZone)) .Cast <TypeTimeZone>() .First(tz => TimeZoneDataAttribute.GetAttributeFromEnumValue(tz).Id == timeZoneId); var address = this.DbPractice.Address ?? new Address(); var viewModel = new PracticeHomeControllerViewModel { Address = new AddressViewModel { CEP = address.CEP, City = address.City, Complement = address.Complement, Neighborhood = address.Neighborhood, StateProvince = address.StateProvince, Street = address.Street, }, Email = this.DbPractice.Email, Pabx = this.DbPractice.PABX, PhoneAlt = this.DbPractice.PhoneAlt, PhoneMain = this.DbPractice.PhoneMain, PracticeName = this.DbPractice.Name, PracticeTimeZone = (short)timeZone, SiteUrl = this.DbPractice.SiteUrl, Doctors = GetDoctorViewModelsFromPractice(this.db, this.DbPractice, this.GetPracticeLocalNow()), Users = (from u in this.DbPractice.Users.OrderBy(u => u.Person.FullName).ToList() select UsersController.GetViewModel(u, u.Practice)).ToList() }; return(viewModel); }
public ActionResult Edit(PracticeHomeControllerViewModel formModel) { if (this.ModelState.IsValid) { formModel.PracticeName = Regex.Replace(formModel.PracticeName.Trim(), @"\s+", " "); this.DbPractice.Name = formModel.PracticeName; this.DbPractice.WindowsTimeZoneId = TimeZoneDataAttribute.GetAttributeFromEnumValue( (TypeTimeZone)formModel.PracticeTimeZone).Id; this.DbPractice.PhoneMain = formModel.PhoneMain; this.DbPractice.PhoneAlt = formModel.PhoneAlt; this.DbPractice.SiteUrl = formModel.SiteUrl; this.DbPractice.Email = formModel.Email; var address = this.DbPractice.Address; if (address == null) { this.DbPractice.Address = address = new Address(); } address.PracticeId = this.DbPractice.Id; address.CEP = formModel.Address.CEP; address.City = formModel.Address.City; address.Complement = formModel.Address.Complement; address.Neighborhood = formModel.Address.Neighborhood; address.StateProvince = formModel.Address.StateProvince; address.Street = formModel.Address.Street; this.db.SaveChanges(); return(this.RedirectToAction("Index")); } return(this.View(formModel)); }