public ActionResult Edit(PersonEditorViewModel item) { if (_Validator.IsValid(item) == true) { Person toValue; if (item.Id == ApiConstants.UnsavedId) { toValue = new Person(); } else { toValue = _Service.GetById(item.Id); if (toValue == null) { return(NotFound()); } } var adapter = new PersonEditorViewModelAdapter(); adapter.Adapt(item, toValue); _Service.Save(toValue); return(RedirectToAction("Edit", new { id = toValue.Id })); } else { return(View(item)); } }
private ViewResult DoEditValidation(PersonEditorViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } return(null); }
public static PersonV SetData(this PersonV entity, PersonEditorViewModel viewModel) { entity.Forenames = viewModel.Forenames; entity.Surname = viewModel.Surname; entity.SearchText = entity.SetSearchText(); entity.DateOfBirth = viewModel.DateOfBirth; entity.DateOfDeath = viewModel.DateOfDeath; entity.CountryGuid = viewModel.CountryGuid; entity.Height = viewModel.Height; entity.WebAddress = viewModel.WebAddress; return(entity); }
public async Task <IViewComponentResult> InvokeAsync(UniqueList <string> modules) { modules.Add(nameof(ConfirmationDialogViewComponent).ViewComponentName()); PersonEditorViewModel model = new PersonEditorViewModel { Genders = await _genderRepository.Get(), Countries = await _countryRepository.Get(), CityTypes = await _cityTypeRepository.Get(), StreetTypes = await _streetTypeRepository.Get() }; return(View(model)); }
public ActionResult Create(PersonEditorViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var personV = viewModel.ToPersonV(UserId, UserId); DbProvider.Add(Person.Create <Person>()); DbProvider.Add(personV); DbProvider.SaveChanges(); return(RedirectToDetailsIndex(personV.HeaderKey)); }
public ActionResult Edit(int?id) { if (id == null) { return(new BadRequestResult()); } Person item; PersonEditorViewModel viewModel; if (id.Value == ApiConstants.UnsavedId) { // create new viewModel = new PersonEditorViewModel(); PopulateLookups(viewModel); return(View(viewModel)); } else { item = _Service.GetById(id.Value); if (item == null) { return(NotFound()); } else { viewModel = new PersonEditorViewModel(); var adapter = new PersonEditorViewModelAdapter(); adapter.Adapt(item, viewModel); PopulateLookups(viewModel); } } return(View(viewModel)); }
private void AssertLookupValueListsArePopulated(PersonEditorViewModel actual) { Assert.IsNotNull(actual.Statuses, "Statuses"); Assert.AreNotEqual <int>(0, actual.Statuses.Count, "actual.Statuses should have items"); }
private void PopulateLookups(PersonEditorViewModel viewModel) { viewModel.Statuses = ToSelectListItems( _LookupService.GetAllByType("System.Lookup.StatusValues")); }
public PersonEditor() { InitializeComponent(); DataContext = new PersonEditorViewModel(); }
public async Task <ActionResult> Edit(PersonEditorViewModel viewModel) { await SetModelsByPrimaryKey(viewModel); viewModel.EditableViewModels = viewModel.VersionEntity.Person.GetEditableVersions(DateTime.Now); var validate = DoEditValidation(viewModel); if (validate != null) { return(validate); } var query = viewModel.HeaderEntity.GetApprovedVersionsByEffectiveDate <Person, PersonV>(viewModel.EffectiveFrom); if (query.Any()) { var entityV = query.Single(); if (viewModel.Equals(entityV)) { ModelState.AddModelError(string.Empty, "No changes have been made."); return(View(viewModel)); } if (entityV.ModifiedUserId == UserId) { entityV.SetData(viewModel); entityV.DateModified = DateTime.Now; DbProvider.SaveChanges(); SetSaveChangesMessage(SaveChangesMessageType.ChangesSaved); return(RedirectToEditor("Summary", entityV)); } else { entityV.IsActive = false; var newEntityV = viewModel.ToPersonV(entityV.OwnerUserId, UserId); newEntityV.EffectiveTo = viewModel.EffectiveTo; DbProvider.Add(newEntityV); DbProvider.SaveChanges(); SetSaveChangesMessage(SaveChangesMessageType.ChangesSaved); return(RedirectToEditor("Summary", newEntityV)); } } else { if (viewModel.Equals(viewModel.VersionEntity)) { ModelState.AddModelError("EffectiveFrom", "Only the effective date has changed."); return(View(viewModel)); } var newEntityV = viewModel.ToPersonV(UserId, UserId); newEntityV.EffectiveTo = Date.HighDate; DbProvider.Add(newEntityV); viewModel.HeaderEntity.NormaliseVersionEffectiveDates <PersonV>(); DbProvider.SaveChanges(); return(RedirectToEditor("Summary", newEntityV)); } }
public ActionResult Create() { return(View(PersonEditorViewModel.CreateNew <PersonEditorViewModel>())); }