public async Task <IEnumerable <EntregaDeSaldoFuncionario> > ObterEntregasDeSaldoDosFuncionariosDaRegra(ParametrosDeRegraDeRemuneracao modelo) { var tipoDaRegra = TipoDeRegraBD.Get(modelo.Tipo.Id); RegraDeRemuneracaoBD regra = tipoDaRegra.ConverterDe(modelo); ParametrosDeFavorecimento fav = new ParametrosDeFavorecimento(); using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { ContratoDeRemuneracaoBD contrato = await context.Contratos .Include(c => c.Favorecimento) .Where(x => x.Id == regra.IdContrato).FirstOrDefaultAsync(); if (contrato.Favorecimento == null) { return(new List <EntregaDeSaldoFuncionario>()); } fav = contrato.Favorecimento.ConverterPara(); } using (var context = _fabricaDeContextos.CriaContextoDe <EntregaContext>(TipoDeConexao.Entrega)) { IEnumerable <EntregaDeSaldoFuncionarioBD> entregas = await context.EntregasSaldoFuncionario //.Include(c=>c.Regra) .Where(x => fav.IdsDasEntidadesFavorecidas.Contains(x.IdFuncionario)).ToArrayAsync(); IEnumerable <EntregaDeSaldoFuncionario> retorno = ConversorEntregaBSFuncionario.ConverteParaDominio(entregas); return(retorno); } }
public async Task <int> InserirAsync(IContratoDeRemuneracao modelo) { var tipo = TipoDeContratoDeRemuneracaoBancoDeDados.Parse(modelo.Tipo.Name); ContratoDeRemuneracaoBD contratoBD = tipo.ConverteDe(modelo); using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { EntityEntry <ContratoDeRemuneracaoBD> contratoInserido = await context.AddAsync(contratoBD); await context.SaveChangesAsync(); return(contratoInserido.Entity.Id); } }
public async Task <int> UpdateAsync(IContratoDeRemuneracao modelo, int id) { var tipo = TipoDeContratoDeRemuneracaoBancoDeDados.Parse(modelo.Tipo.Name); ContratoDeRemuneracaoBD contratoBD = tipo.ConverteDe(modelo); contratoBD.Id = id; using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { context.Contratos.Update(contratoBD); await context.SaveChangesAsync(); return(contratoBD.Id); } }
public async Task RemoveAsync(int id) { using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { ContratoDeRemuneracaoBD contrato = await context.Contratos.FindAsync(id); contrato.Deleted = true; //context.Contratos.Remove(contrato); await context.SaveChangesAsync(); } //HTTP DELETE - Remover registro de contrato //DbContextOptions<RemuneracaoContext> option = Helper.ObtemOpcoesDeConexao<RemuneracaoContext>(_stringDeConexao); //using (var context = new RemuneracaoContext(option)) //{ // ContratoDeRemuneracaoBD contrato = await context.Contratos.FindAsync(id); // context.Contratos.Remove(contrato); // await context.SaveChangesAsync(); //} }
public async Task AtualizaVinculosAsync(int id, int[] ids) { using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { IEnumerable <RegraDeRemuneracaoBD> regras = await(from regra in context.Regras where ids.Contains(regra.Id) select regra).ToArrayAsync(); ContratoDeRemuneracaoBD contratos = await(from contrato in context.Contratos where contrato.Id == id select contrato).FirstOrDefaultAsync(); if (contratos.Regras != null) { contratos.Regras.Concat(regras); } else { contratos.Regras = regras; } //context.AttachRange(regras); //context.Attach(contrato); await context.SaveChangesAsync(); } }