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; }