Esempio n. 1
0
        public void InicializaBinding(ProdutoWrapper wrapper)
        {
            ProdutoBindingSource.DataSource              = wrapper;
            produtoImagemBindingSource.DataSource        = wrapper.Imagens;
            produtoEspecificacaoBindingSource.DataSource = wrapper.Especificacoes;

            ProdutoBindingSource.ResumeBinding();
            produtoImagemBindingSource.ResumeBinding();
            produtoEspecificacaoBindingSource.ResumeBinding();
        }
        public async void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            if (!(e.Parameter is NavegacaoParametro <Produto> param))
            {
                return;
            }

            if (param.Operacao == ContantesGlobais.OPERACAO_ALTERACAO)
            {
                Titulo = "Alterar produto";

                Wrapper = new ProdutoWrapper(param.Item);
                Imagens = new ChangeTrackingCollection <ProdutoImageUWPWrapper>(
                    param.Item.Imagens.Select(i => new ProdutoImageUWPWrapper(i)));
                foreach (var imagem in Imagens)
                {
                    await imagem.InitImage();
                }

                param.Item.Imagens.Clear();
                Wrapper.Imagens.Clear();
            }
            else
            {
                Titulo = "Incluir produto";

                Wrapper = new ProdutoWrapper(new Produto
                {
                    DataCadastro = DateTime.UtcNow,
                    EstoqueAtual = new ProdutoEstoque()
                });
                Imagens = new ChangeTrackingCollection <ProdutoImageUWPWrapper>(new List <ProdutoImageUWPWrapper>());
            }

            Wrapper.PropertyChanged   -= ViewModelPropertyChanged;
            Wrapper.PropertyChanged   += ViewModelPropertyChanged;
            Imagens.CollectionChanged += Imagens_CollectionChanged;
        }
        public void OnNavigatedTo(NavigationContext navigationContext)
        {
            if (navigationContext.Parameters.ContainsKey(ContantesGlobais.OPERACAO_ALTERACAO))
            {
                var produto = navigationContext
                              .Parameters[ContantesGlobais.OPERACAO_ALTERACAO] as Produto;

                Operacao = "Alterar produto";
                Wrapper  = new ProdutoWrapper(produto);
            }
            else
            {
                Operacao = "Novo produto";
                Wrapper  = new ProdutoWrapper(new Produto
                {
                    Imagens        = new List <ProdutoImagem>(),
                    Especificacoes = new List <ProdutoEspecificacao>(),
                    EstoqueAtual   = new ProdutoEstoque(),
                    DataCadastro   = DateTime.UtcNow
                });
            }
            Wrapper.PropertyChanged -= ViewModelPropertyChanged;
            Wrapper.PropertyChanged += ViewModelPropertyChanged;
        }