public override async Task LoadAsync(int id)
        {
            if (Ambiente == null)
            {
                var ambienti = await ambienteRepository.GetAllAsync();

                foreach (var wrapper in Ambienti)
                {
                    wrapper.PropertyChanged -= Wrapper_PropertyChanged;
                }

                Ambienti.Clear();

                foreach (var ambiente in ambienti)
                {
                    var wrapper = new AmbienteWrapper(ambiente);
                    wrapper.PropertyChanged += Wrapper_PropertyChanged;
                    Ambienti.Add(wrapper);
                }
            }

            Id = id;

            var visure = await visureRepository.GetAllAsync();

            InitializeVisure(visure);
        }
        private void InitializeAmbiente(Ambiente ambiente)
        {
            Ambiente = new AmbienteWrapper(ambiente);

            Ambiente.PropertyChanged += (s, e) =>
            {
                if (!HasChanges)
                {
                    HasChanges = _ambienteRepository.HasChanges();
                }
                if (e.PropertyName == nameof(Ambiente.HasErrors))
                {
                    ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
                }

                if (e.PropertyName == nameof(Ambiente.Description))
                {
                    SetTitle();
                }
            };
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();

            // Little trick to trigger validation on a new anagrafica
            if (Ambiente.Id == 0)
            {
                Ambiente.Description = "";
            }

            SetTitle();
        }
Пример #3
0
        public async override Task LoadAsync(int id)
        {
            if (TipoServizio == null)
            {
                _allTipi = _servizioRepository.GetAllTipiServizio();
                TipiServizio.Clear();

                foreach (var tipo in _allTipi)
                {
                    TipiServizio.Add(tipo);
                }
            }
            if (Ambiente == null)
            {
                var ambienti = await _ambienteRepository.GetAllAsync();

                foreach (var wrapper in Ambienti)
                {
                    wrapper.PropertyChanged -= Wrapper_PropertyChanged;
                }

                Ambienti.Clear();

                foreach (var ambiente in ambienti)
                {
                    var wrapper = new AmbienteWrapper(ambiente);

                    wrapper.PropertyChanged += Wrapper_PropertyChanged;

                    Ambienti.Add(wrapper);
                }
            }

            Id = id;

            var servizi = await _servizioRepository.GetAllAsync();

            InitializeServizi(servizi);
        }