public static EntregaDeSaldoClienteBD ConverteDoDominio(EntregaDeSaldoCliente dominio)
        {
            EntregaDeSaldoClienteBD banco = new EntregaDeSaldoClienteBD();

            if (dominio != null)
            {
                banco.Id = dominio.Id < 0 ? 0 : dominio.Id;
                banco.DataRecebimento = dominio.DataRecebimento.HasValue ? dominio.DataRecebimento.Value : new DateTime(1900, 1, 1);
                banco.DataRegistro    = dominio.DataRegistro == DateTime.MinValue ? DateTime.Now : dominio.DataRegistro;
                if (dominio.Contrato != null)
                {
                    banco.dsContrato = dominio.Contrato.Titulo;
                    banco.IdContrato = dominio.Contrato.Id;
                }
                if (dominio.Cliente != null)
                {
                    banco.IdCliente   = dominio.Cliente.Id;
                    banco.NomeCliente = dominio.Cliente.Nome;
                }
                if (dominio.Valor != null)
                {
                    banco.Valor = dominio.Valor.Valor;
                }
                banco.Vinculacao      = dominio.Vinculos;
                banco.IdEventoGerador = dominio.IdEventoGerador;
            }

            return(banco);
        }
        public static EntregaDeSaldoCliente ConverteParaDominio(EntregaDeSaldoClienteBD banco)
        {
            EntregaDeSaldoCliente bsCliente = new EntregaDeSaldoCliente();

            //if (BancoSaldoFuncionario != null && BancoSaldoFuncionario.Count() > 0)
            //{
            //    List<EntregaDeSaldoFuncionario> bsFuncionarios = new List<EntregaDeSaldoFuncionario>();

            //    foreach (EntregaDeSaldoFuncionarioBD bsBD in BancoSaldoFuncionario)
            //    {
            //        bsFuncionarios.Add(bsBD.ConverteParaDominio());
            //    }
            //    bsCliente.EntregasSaldoFuncionario = bsFuncionarios;
            //}
            //else
            //{
            //    bsCliente.EntregasSaldoFuncionario = new List<EntregaDeSaldoFuncionario>();
            //}

            bsCliente.DataRecebimento = banco.DataRecebimento;
            bsCliente.DataRegistro    = banco.DataRegistro;
            bsCliente.Contrato        = new ContratoFaturamento {
                Id = banco.IdContrato, Titulo = banco.dsContrato
            };
            bsCliente.Id      = banco.Id;
            bsCliente.Cliente = new ClienteLO {
                Id = banco.IdCliente, Nome = banco.NomeCliente
            };
            bsCliente.Valor           = new Dinheiro(banco.Valor, Moeda.Real);
            bsCliente.IdEventoGerador = banco.IdEventoGerador;

            return(bsCliente);
        }
        public async Task <int> InserirSaldoClienteAsync(EntregaDeSaldoCliente modelo)
        {
            EntregaDeSaldoClienteBD entregaBSClienteBD = ConversorEntregaBSCliente.ConverteDoDominio(modelo);

            using (var context = _fabricaDeContextos.CriaContextoDe <EntregaContext>(TipoDeConexao.Entrega))
            {
                EntityEntry <EntregaDeSaldoClienteBD> insertedObject = await context.EntregasSaldoCliente.AddAsync(entregaBSClienteBD);

                await context.SaveChangesAsync();

                return(insertedObject.Entity.Id);
            }
        }