public EntregavelDTO ConsultarEntregavelTemporaria(int idEntregavel_)
        {
            var entregavel      = db.ContratoEntregavelTemporaria.FirstOrDefault(_ => _.IdContratoEntregavel == idEntregavel_);
            var contratoCliente = new bCliente(db).ListaContratoClientes(entregavel.IdContratoCliente.ObterValorInteiro())?.FirstOrDefault();

            return(new EntregavelDTO()
            {
                DataPrevista = entregavel.DtProduto,
                Frente = new bFrente(db).ConsultarFrente(entregavel.IdFrente),
                Id = entregavel.IdContratoEntregavel,
                IdContrato = entregavel.IdContrato,
                Nome = entregavel.DsProduto,
                Numero = entregavel.VlOrdem,
                Situacao = new bSituacao(db).ConsultarSituacao(entregavel.IdSituacao),
                //Cliente = new ClienteDTO() { Id = contratoCliente.IdContratoCliente, NmCliente = contratoCliente.NmFantasia }
                Cliente = new bCliente(db).ObterClienteContrato(entregavel.IdContratoCliente.ObterValorInteiro())
            });
        }
 public ClienteDTO ObterClienteContrato(int idContratoCliente_)
 {
     var clienteContrato = db.ContratoCliente.Where(_ => _.IdContratoCliente == idContratoCliente_)?.FirstOrDefault();
     var nmCliente = "";
     if (clienteContrato.NmFantasia == null)
     {
         var cliente = new bCliente(db).BuscarClienteId(clienteContrato.IdCliente);
         var pessoa = db.Pessoa.Where(w => w.IdPessoa == cliente.IdPessoa).FirstOrDefault();
         var pessoaFisica = new bPessoaFisica(db).BuscarPessoaId(pessoa.IdPessoaFisica.Value);
         nmCliente = pessoaFisica.NmPessoa;
     }
     else
     {
         nmCliente = clienteContrato.NmFantasia;
     }
     return new ClienteDTO()
     {
         Id = clienteContrato.IdContratoCliente,
         NmCliente = nmCliente
     };
 }
        public void CriarEntregaveisEmLote(InputEntregavel parametroEntregavel_)
        {
            List <OutPutGetCliente> clienteContratante = new bCliente(db).ListaContratoClientes(parametroEntregavel_.IdContrato);

            int numero      = 0;
            var entregaveis = db.ContratoEntregavel.Where(w => w.IdContrato == parametroEntregavel_.IdContrato).ToList();

            if (entregaveis.Count > 0)
            {
                numero = db.ContratoEntregavel.Where(w => w.IdContrato == parametroEntregavel_.IdContrato).Last().VlOrdem;
            }

            foreach (var cliente in clienteContratante)
            {
                for (int i = 0; i < parametroEntregavel_.Quantidade; i++)
                {
                    numero++;
                    DateTime novaData = parametroEntregavel_.DataPrevista.AddMonths(i);
                    CriarNovoEntregavelLote(parametroEntregavel_.Nome, novaData, parametroEntregavel_.IdContrato, 0, numero, cliente.IdContratoCliente.ObterValorInteiro());
                }
            }
        }