private async Task AddArchitect()
        {
            var architect = new ArchitectModel(
                Name, Surname, Nationality, BirthYear, DeathYear);

            await _architectsManager.AddArchitect(architect);

            _customNavigationService.NavigateTo(PageKeys.ArchitectMain);
        }
        private void SetupFields()
        {
            ArchitectModel editableArch = _architect;

            Name        = editableArch?.Name ?? string.Empty;
            Surname     = editableArch?.Surname ?? string.Empty;
            Nationality = editableArch?.Nationality ?? string.Empty;
            BirthYear   = editableArch?.BirthYear ?? 0;
            DeathYear   = editableArch?.DeathYear ?? 0;
        }
        public ArchitectAddViewModel(
            IArchitectManager architectsManager)
        {
            _architectsManager = architectsManager;

            _customNavigationService = ServiceLocator.Current.GetInstance <ICustomNavigationService>("ArchitectInternal");

            _architect = _customNavigationService.CurrentPageParams as ArchitectModel;

            SaveCommand = _architect == null
             ? new RelayCommand(async() => await AddArchitect())
             : new RelayCommand(async() => await UpdateArchitect());

            ActionText = _architect == null ? "Добавление" : "Редактирование";
            ButtonText = _architect == null ? "Добавить" : "Сохранить изменения";

            SetupFields();
        }
 public void EditArchitect(ArchitectModel itemToEdit)
 {
     _customNavigationService.NavigateTo(PageKeys.ArchitectAdd, itemToEdit);
 }