Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        private ViewResult DoEditValidation(PersonEditorViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            return(null);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
 private void AssertLookupValueListsArePopulated(PersonEditorViewModel actual)
 {
     Assert.IsNotNull(actual.Statuses, "Statuses");
     Assert.AreNotEqual <int>(0, actual.Statuses.Count,
                              "actual.Statuses should have items");
 }
Ejemplo n.º 8
0
 private void PopulateLookups(PersonEditorViewModel viewModel)
 {
     viewModel.Statuses = ToSelectListItems(
         _LookupService.GetAllByType("System.Lookup.StatusValues"));
 }
Ejemplo n.º 9
0
 public PersonEditor()
 {
     InitializeComponent();
     DataContext = new PersonEditorViewModel();
 }
Ejemplo n.º 10
0
        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));
            }
        }
Ejemplo n.º 11
0
 public ActionResult Create()
 {
     return(View(PersonEditorViewModel.CreateNew <PersonEditorViewModel>()));
 }