public void Atualizar(IContexto contexto) { var mercadoriaParaAtualizar = ((Contexto)contexto).Mercadoria.Find(Id); if (mercadoriaParaAtualizar != null) { var fotosParaRemover = new List <FotoMap>(); var produtosParaRemover = new List <ProdutoMap>(); IDao <ProdutoMap> produtoDao = FabricaDeDaos.Instancia().ObterDao <ProdutoMap>(contexto); IDao <FotoMap> fotoDao = FabricaDeDaos.Instancia().ObterDao <FotoMap>(contexto); foreach (var foto in mercadoriaParaAtualizar.Fotos) { bool remover = Fotos.All(f => f.Id != foto.Id); if (remover) { fotosParaRemover.Add(foto); } } foreach (var fotoMap in fotosParaRemover) { fotoDao.Excluir(fotoMap.Id); } foreach (var produto in mercadoriaParaAtualizar.Produtos) { bool remover = Produtos.All(p => p.Id != produto.Id); if (remover) { produtosParaRemover.Add(produto); } } foreach (var produtoMap in produtosParaRemover) { produtoDao.Excluir(produtoMap.Id); } foreach (var foto in Fotos) { bool adicionar = mercadoriaParaAtualizar.Fotos.All(f => f.Id != foto.Id); if (adicionar) { mercadoriaParaAtualizar.Fotos.Add(foto); } } foreach (var produto in Produtos) { bool adicionar = mercadoriaParaAtualizar.Fotos.All(f => f.Id != produto.Id); if (adicionar) { mercadoriaParaAtualizar.Produtos.Add(produto); } } } }
public void RemoverDependencias(IContexto contexto) { if (Mercadorias.Count == 0) { return; } IDao <MercadoriaMap> dao = FabricaDeDaos.Instancia().ObterDao <MercadoriaMap>(contexto); IList <Guid> listaDeMercadoriasParaRemover = new List <Guid>(); foreach (var mercadoria in Mercadorias) { bool remover = mercadoria.Categorias.All(categoria => categoria.Id == Id); if (remover) { listaDeMercadoriasParaRemover.Add(mercadoria.Id); } } foreach (var guid in listaDeMercadoriasParaRemover) { dao.Excluir(guid); } }
public void Atualizar(IContexto contexto) { var usuarioParaAtualizar = ((ContextoAutenticacao)contexto).Usuario.Find(Id); if (usuarioParaAtualizar != null) { var telefonesParaRemover = new List <TelefoneMap>(); IDao <TelefoneMap> telefoneDao = FabricaDeDaos.Instancia().ObterDao <TelefoneMap>(contexto); foreach (var telefone in usuarioParaAtualizar.Telefones) { bool remover = Telefones.All(f => f.Id != telefone.Id); if (remover) { telefonesParaRemover.Add(telefone); } } foreach (var telefoneMap in telefonesParaRemover) { telefoneDao.Excluir(telefoneMap.Id); } foreach (var telefone in Telefones) { bool adicionar = usuarioParaAtualizar.Telefones.All(f => f.Id != telefone.Id); if (adicionar) { usuarioParaAtualizar.Telefones.Add(telefone); } } usuarioParaAtualizar.Endereco.Atualizar(Endereco); } }
public Repositorio() { contexto = FabricaDeContexto.Instancia().ObterContexto <TData>(); dao = FabricaDeDaos.Instancia().ObterDao <TData>(contexto); }