private LogDeOperacaoDeRemuneracaoBD AdicionaInformacaoDeContexto(ILogDeOperacaoDeRemuneracao info) { LogDeOperacaoDeRemuneracaoBD logDeOperacaoDeRemuneracaoBD = new LogDeOperacaoDeRemuneracaoBD(info); logDeOperacaoDeRemuneracaoBD.IdContaExecutora = _contextoDeConexao.IdContaUsuario; return(logDeOperacaoDeRemuneracaoBD); }
public async Task PagarRemuneracao(IRemuneracaoPaga remuneracao, ILogDeOperacaoDeRemuneracao informacaoDeAuditoria = null) { RemuneracoesPagasBD remuneracaoBD = new RemuneracoesPagasBD(remuneracao); EmissaoDeRemuneracaoBD emissao = remuneracaoBD.EmissaoDeRemuneracao; using (RemuneracaoContext context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { emissao.Remuneracao_Paga = true; context.Emissoes.Update(emissao); context.RemuneracoesPagas.Add(remuneracaoBD); await context.SaveChangesAsync(); } }
private IEnumerable <ILogDeOperacaoDeRemuneracao> GeraLogsParaAuditoria(Dinheiro desconto, Dinheiro bonus, IFechamentoDeRemuneracao fechamento) { List <ILogDeOperacaoDeRemuneracao> logs = new List <ILogDeOperacaoDeRemuneracao>(); if (desconto != default(Dinheiro)) { ILogDeOperacaoDeRemuneracao logDesconto = _logger.CriaLogDeDesconto(fechamento, desconto); logs.Add(logDesconto); } if (bonus != default(Dinheiro)) { ILogDeOperacaoDeRemuneracao logBonus = _logger.CriaLogDeBonus(fechamento, bonus); logs.Add(logBonus); } return(logs); }
public async Task <IEnumerable <IEmissaoDeRemuneracao> > AdicionarEmissoesAsync(IEnumerable <IEmissaoDeRemuneracao> emissoes, ILogDeOperacaoDeRemuneracao informacaoDeAuditoria = null) { ConcurrentQueue <EmissaoDeRemuneracaoBD> emissoesBD = new ConcurrentQueue <EmissaoDeRemuneracaoBD>(); foreach (IEmissaoDeRemuneracao emissao in emissoes) { EmissaoDeRemuneracaoBD emissaoBD = new EmissaoDeRemuneracaoBD(emissao) { ContaExecutoraDaEmissao = _contextoDeConexao.IdContaUsuario, Remuneracao_Paga = false }; emissoesBD.Enqueue(emissaoBD); } using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { context.RemuneracoesEmitidas.AddRange(emissoesBD.SelectMany(emiss => emiss.RemuneracoesEmitidas).ToArray()); await context.SaveChangesAsync(); context.Emissoes.AddRange(emissoesBD); await context.SaveChangesAsync(); } IEnumerable <IEmissaoDeRemuneracao> emissaoSalva = emissoesBD.Select(emissBD => emissBD.ConverteParaModelo()); return(emissaoSalva); }
public async Task <IEnumerable <IFechamentoDeRemuneracao> > AdicionarFechamentosAsync(IEnumerable <IFechamentoDeRemuneracao> fechamentos, ILogDeOperacaoDeRemuneracao informacaoDeAuditoria = null) { IEnumerable <FechamentoDeRemuneracaoBD> fechamentosBD = fechamentos.Select(fechamento => ConverteParaModeloSQLBD(fechamento)).ToArray(); using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { LancamentoDeFechamentoDeRemuneracaoBD[] lancamentosDeRemuneracao = fechamentosBD.SelectMany(fec => fec.LancamentosDeRemuneracao.ToArray()).ToArray(); context.LancamentosDeFechamento.AddRange(lancamentosDeRemuneracao.ToArray()); await context.SaveChangesAsync(); foreach (var fechamentoBD in fechamentosBD) { foreach (var remFec in fechamentoBD.LancamentosDeRemuneracao) { if (remFec.IdRemuneracaoOriginal <= 0) { remFec.IdRemuneracaoOriginal = remFec.Id; } } context.LancamentosDeFechamento.UpdateRange(fechamentoBD.LancamentosDeRemuneracao); } context.Fechamentos.AddRange(fechamentosBD); await context.SaveChangesAsync(); } IEnumerable <IFechamentoDeRemuneracao> fechamentoSalvo = fechamentosBD.Select(fechamentoBD => ConverteDoModeloSQLBD(fechamentoBD)); return(fechamentoSalvo); }
public async Task <IFechamentoDeRemuneracao> AdicionarFechamentoAsync(IFechamentoDeRemuneracao fechamento, ILogDeOperacaoDeRemuneracao informacaoDeAuditoria = null) { FechamentoDeRemuneracaoBD fechamentoBD = ConverteParaModeloSQLBD(fechamento); using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { context.LancamentosDeFechamento.AddRange(fechamentoBD.LancamentosDeRemuneracao.ToArray()); await context.SaveChangesAsync(); foreach (var remFec in fechamentoBD.LancamentosDeRemuneracao) { remFec.IdRemuneracaoOriginal = remFec.Id; } context.LancamentosDeFechamento.UpdateRange(fechamentoBD.LancamentosDeRemuneracao); context.Fechamentos.Add(fechamentoBD); await context.SaveChangesAsync(); } IFechamentoDeRemuneracao fechamentoSalvo = ConverteDoModeloSQLBD(fechamentoBD); return(fechamentoSalvo); }
public LogDeOperacaoDeRemuneracaoBD(ILogDeOperacaoDeRemuneracao info) { Operacao = info.Operacao; EntidadesAlteradas = info.EntidadesAlteradas.Select(ent => new EntidadeAlteradaBD(ent)).ToArray(); DataDaExecucao = info.DataDaExecucao; }