public async Task <int> InserirSaldoFuncionarioAsync(EntregaDeSaldoFuncionario modelo)
        {
            EntregaDeSaldoFuncionarioBD entregaBSFuncionarioBD = ConversorEntregaBSFuncionario.ConverteDoDominio(modelo);

            using (var context = _fabricaDeContextos.CriaContextoDe <EntregaContext>(TipoDeConexao.Entrega))
            {
                EntityEntry <EntregaDeSaldoFuncionarioBD> insertedObject = await context.EntregasSaldoFuncionario.AddAsync(entregaBSFuncionarioBD);

                await context.SaveChangesAsync();

                return(insertedObject.Entity.Id);
            }
        }
        public static EntregaDeSaldoFuncionario ConverteParaDominio(EntregaDeSaldoFuncionarioBD banco)
        {
            EntregaDeSaldoFuncionario bsFuncionario = new EntregaDeSaldoFuncionario();

            NotaFaturamento notaFaturamento = new NotaFaturamento {
                Id = banco.IdNota, NrNota = banco.nrNota, DataFaturamento = banco.DataFaturamento
            };
            FuncionarioLO funcionario = new FuncionarioLO {
                Id = banco.IdFuncionario
            };
            LancamentoNota lancamentoNota = new LancamentoNota {
                Id = banco.IdLancamentoNota
            };
            HoraTrabalhada horaTrabalhada = new HoraTrabalhada {
                Id = banco.IdHoraTrabalhada, Funcionario = funcionario, QtdMinutos = banco.QtdMinutos, ValorHora = new Dinheiro(banco.ValorHora, Moeda.Real), Percentual = banco.PercentualDeRemuneracao, PercentualDesconto = banco.PercentualDeDesconto, IdCategoria = banco.IdCategoria, IdRegraRemuneracao = banco.IdRegra.HasValue ? banco.IdRegra.Value : int.MinValue, ValorSaldo = banco.IdEventoGerador == 0 ? banco.Valor : 0, IdEntregaSaldoFuncionario = banco.Id /*.HasValue ? banco.Id.Value : 0*/, Vinculacao = banco.Vinculacao
            };
            ContratoFaturamento contrato = new ContratoFaturamento()
            {
                Id = banco.IdContrato
            };

            //bsFuncionario.BancoSaldoCliente = BancoSaldoCliente != null ? BancoSaldoCliente.ConverteParaDominio() : new EntregaDeSaldoCliente();
            bsFuncionario.DataFaturamento = banco.DataFaturamento;
            bsFuncionario.Id                      = banco.Id;//.HasValue ? banco.Id.Value : 0;
            bsFuncionario.IdCategoria             = banco.IdCategoria;
            bsFuncionario.Contrato                = contrato;
            bsFuncionario.IdContrato              = banco.IdContrato;
            bsFuncionario.Funcionario             = funcionario;
            bsFuncionario.IdFuncionario           = banco.IdFuncionario;
            bsFuncionario.HoraTrabalhada          = horaTrabalhada;
            bsFuncionario.LancamentoFaturado      = lancamentoNota;
            bsFuncionario.IdLancamentoNota        = banco.IdLancamentoNota;
            bsFuncionario.Nota                    = notaFaturamento;
            bsFuncionario.IdNota                  = banco.IdNota;
            bsFuncionario.PercentualDeRemuneracao = banco.PercentualDeRemuneracao;
            bsFuncionario.Valor                   = new Dinheiro(banco.Valor, Moeda.Real);
            bsFuncionario.IdRegraRemuneracao      = banco.IdRegra;
            bsFuncionario.PercentualDeDesconto    = banco.PercentualDeDesconto;
            bsFuncionario.IdEventoGerador         = banco.IdEventoGerador;
            bsFuncionario.DataRegistro            = banco.DataRegistro;

            return(bsFuncionario);
        }
        public static EntregaDeSaldoFuncionarioBD ConverteDoDominio(EntregaDeSaldoFuncionario dominio)
        {
            EntregaDeSaldoFuncionarioBD banco = new EntregaDeSaldoFuncionarioBD();

            if (dominio != null)
            {
                banco.DataFaturamento = dominio.DataFaturamento;
                banco.DataRegistro    = dominio.DataRegistro;
                banco.Id               = dominio.Id < 0 ? 0 :dominio.Id;//== 0 ? null : (int?)dominio.Id;
                banco.IdCategoria      = dominio.IdCategoria;
                banco.IdContrato       = dominio.IdContrato;
                banco.IdFuncionario    = dominio.IdFuncionario;
                banco.IdHoraTrabalhada = dominio.IdHoraTrabalhada;
                banco.IdLancamentoNota = dominio.IdLancamentoNota;
                banco.IdNota           = dominio.IdNota;
                if (dominio.Nota != null)
                {
                    banco.nrNota = dominio.Nota.NrNota.ToString();
                }
                banco.PercentualDeRemuneracao = dominio.PercentualDeRemuneracao;
                banco.QtdMinutos = dominio.QtdMinutos;
                if (dominio.Valor != null)
                {
                    banco.Valor = dominio.Valor.Valor;
                }
                if (dominio.ValorHora != null)
                {
                    banco.ValorHora = dominio.ValorHora.Valor;
                }
                banco.Vinculacao           = dominio.Vinculos;
                banco.IdRegra              = dominio.IdRegraRemuneracao;
                banco.PercentualDeDesconto = dominio.PercentualDeDesconto;

                banco.IdEventoGerador = dominio.IdEventoGerador;
            }

            return(banco);
        }