Esempio n. 1
0
        public override SICAD.DAL.Model.ClienteSapiens ObterPorCodigos(int codCli, int? codfil)
        {
            try
            {
                using (var clienteSapiensDAL = new ClienteSapiensDAL())
                {
                    var cliente = base.ObterPorCodigos(codCli,codfil);

                    var caracteristicaBLL = new CaracteristicaSapiensBLL();
                    cliente.Caracteristicas = new List<CaracteristicaSapiens>();
                    // podem vir vários, alterar para retornar uma lista..

                    var caracteristicas = caracteristicaBLL.ObterCaracteristicasPorCliente(cliente.codcli);

                    foreach (var c in caracteristicas)
                    {
                        c.Componentes = caracteristicaBLL.ObterComponentesPorCliente(cliente.codcli);

                        cliente.Caracteristicas.Add(c);

                    }

                    var definicoesBLL = new DefinicoesSapiensBLL();
                    cliente.Definicoes = new List<DefinicoesSapiens>();
                    cliente.Definicoes.Add(definicoesBLL.ObterDefinicoesPorCliente(cliente.codcli,cliente.codfil));

                    var enderecosCobrancaBLL = new EnderecoCobrancaSapiensBLL();

                    cliente.EnderecosCobranca = enderecosCobrancaBLL.ObterEnderecosCobrancaPorCliente(cliente.codcli);

                    var enderecosEntregaBLL = new EnderecoEntregaSapiensBLL();
                    cliente.EnderecosEntrega = enderecosEntregaBLL.ObterEnderecosEntregaPorCliente(cliente.codcli);

                    // referencias
                    var referenciasBLL = new ReferenciasSapiensBLL();
                    cliente.Referencias = referenciasBLL.ObterReferenciasPorCliente(cliente.codcli);

                    // contato(s)
                    var contatoBLL = new ContatoSapiensBLL();
                    cliente.Contatos = contatoBLL.ObterContatosPorCliente(cliente.codcli);

                    cliente.Socios = new SocioSapiensBLL().ObterSociosPorCliente(cliente.codcli);

                    return cliente;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }