public IEnumerable <ProjetoTipoDemanda> AssociarTipoDemandaProjeto(int projetoId, IEnumerable <TipoDemanda> tiposDemandas)
        {
            var atual    = ObterTipoDemandasAssociadas(projetoId).ToList();
            var toRemove = atual.Except(tiposDemandas).ToList();
            var toAdd    = tiposDemandas.Except(atual).ToList();

            if (toRemove.Any())
            {
                var curr =
                    repoPrjTpDem.BuscarPor(t => t.ProjetoId == projetoId && t.Ativo).ToList()
                    .Join(
                        toRemove,
                        d => d.TipoDemandaId,
                        r => r.Id,
                        (TipoDemandaProjeto, TipoDemanda) => new { TipoDemandaProjeto, TipoDemanda }
                        ).Where(w => w.TipoDemanda.Id == w.TipoDemandaProjeto.TipoDemandaId);

                foreach (var r in curr)
                {
                    repository.Remover(r.TipoDemandaProjeto.Id);
                }
            }

            foreach (var a in toAdd)
            {
                var objToAdd = new ProjetoTipoDemanda {
                    ProjetoId = projetoId, TipoDemandaId = a.Id
                };
                repoPrjTpDem.Adicionar(objToAdd);
            }
            repository.SaveChanges();
            return(repoPrjTpDem.BuscarPor(b => b.ProjetoId == projetoId && b.Ativo));
        }
 public virtual T Adicionar(T obj)
 {
     try
     {
         repository.Adicionar(obj);
         repository.SaveChanges();
         return(obj);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public void Index()
 {
     _clienteRepository.Adicionar(new Cliente());
 }
Esempio n. 4
0
 public void Index()
 {
     _genericRepository.Adicionar(new Cliente());
 }
Esempio n. 5
0
        public void AtualizarPessoaColaborador(int pessoaId, int tipoPessoa, List <Telefone> lstNovoTelefone, List <Ferramenta> lstNovaFerramenta, List <Sigla> lstNovaSigla)
        {
            try {
                //var colaborador = repColaborador.BuscarPor(c => c.PessoaId == pessoaId).FirstOrDefault();
                var lstTelAtual = repTelefones.BuscarPor(t => t.PessoaId == pessoaId);


                var lstferAtual = new List <Ferramenta>();
                var lstsigAtual = new List <Sigla>();

                //if (tipoPessoa == 1) {
                //    lstferAtual = colaborador != null ? (from af in ctx.AcessoFerramentas
                //                                             join f in ctx.Ferramentas on af.FerramentaId equals f.Id
                //                                             where af.Ativo && af.ColaboradorId == colaborador.Id
                //                                             select f).ToList() :
                //                                 new List<Ferramenta>();
                //    lstsigAtual = colaborador != null ? (from acs in ctx.AcessoSiglas
                //                                             join s in ctx.Siglas on acs.SiglaId equals s.Id
                //                                             where acs.Ativo && acs.ColaboradorId == colaborador.Id
                //                                             select s).ToList() :
                //                                                     new List<Sigla>();
                //}
                var lstTelToAdd = new List <Telefone>();
                //var lstFerToAdd = new List<Ferramenta>();
                //var lstSigToAdd = new List<Sigla>();
                var lstTelToRemove = new List <Telefone>();
                //var lstFerToRemove = new List<Ferramenta>();
                //var lstSigToRemove = new List<Sigla>();

                foreach (var novo in lstNovoTelefone)
                {
                    if (lstTelAtual.FirstOrDefault(a => a.Id == novo.Id) == null)
                    {
                        lstTelToAdd.Add(novo);
                    }
                }


                //if (tipoPessoa == 1) {
                //    foreach (var novo in lstNovaFerramenta) {
                //        if (lstferAtual.FirstOrDefault(a => a.Id == novo.Id) == null) {
                //            lstFerToAdd.Add(novo);
                //        }
                //    }
                //    foreach (var novo in lstNovaSigla) {
                //        if (lstsigAtual.FirstOrDefault(a => a.Id == novo.Id) == null) {
                //            lstSigToAdd.Add(novo);
                //        }
                //    }
                //}


                foreach (var atual in lstTelAtual)
                {
                    if (lstNovoTelefone.FirstOrDefault(a => a.Id == atual.Id) == null)
                    {
                        lstTelToRemove.Add(atual);
                    }
                }

                //if (tipoPessoa == 1) {
                //    foreach (var atual in lstferAtual) {
                //        if (lstNovaFerramenta.FirstOrDefault(a => a.Id == atual.Id) == null) {
                //            lstFerToRemove.Add(atual);
                //        }
                //    }

                //    foreach (var atual in lstsigAtual) {
                //        if (lstNovaSigla.FirstOrDefault(a => a.Id == atual.Id) == null) {
                //            lstSigToRemove.Add(atual);
                //        }
                //    }
                //}


                foreach (var a in lstTelToAdd)
                {
                    a.PessoaId = pessoaId;
                    a.Tipo     = null;
                    repTelefones.Adicionar(a);
                }


                //if (tipoPessoa == 1) {

                //    foreach (var a in lstSigToAdd) {
                //        repAcessoSiglas.Adicionar(new AcessoSigla { ColaboradorId = colaborador.Id, SiglaId = a.Id });
                //    }

                //    foreach (var a in lstFerToAdd) {
                //        repAcessoFerramentas.Adicionar(new AcessoFerramenta { ColaboradorId = colaborador.Id, FerramentaId = a.Id });
                //    }


                //}

                foreach (var r in lstTelToRemove)
                {
                    repTelefones.Desativar(r.Id);
                }

                //if (tipoPessoa == 1) {
                //    foreach (var r in lstFerToRemove) {
                //        repFerramentasAssociadas.Desativar(r.Id);
                //    }

                //    foreach (var r in lstSigToRemove) {
                //        repSiglasAssociadas.Desativar(r.Id);
                //    }
                //}
                repTelefones.SaveChanges();
                //repColaborador.SaveChanges();

                //if (tipoPessoa == 1) {
                //    repFerramentasAssociadas.SaveChanges();
                //    repSiglasAssociadas.SaveChanges();
                //    repFerramentasAssociadas.SaveChanges();
                //    repSiglasAssociadas.SaveChanges();
                //}
            }
            catch (Exception ex) {
                throw ex;
            }
        }
Esempio n. 6
0
 public IActionResult Index()
 {
     _genericRepository.Adicionar(new Cliente());
     return(View());
 }
Esempio n. 7
0
        // Injeção de Dependencia via propriedade
        // Dificulta os testes
        // Usar caso não for possível usar no construtor

        public IActionResult Index([FromServices] IGenericRepository <About> genericRepository)
        {
            genericRepository.Adicionar(new About());
            return(View());
        }