public void PreencheDependencias(DefinicoesClienteSolicitacao d, int codCliente, int codFilial)
        {
            using (var categoriaDAL = new CategoriaClienteDAL())
            {
                Task t1 = Task.Factory.StartNew(() =>
                {

                    var categorias = from c in categoriaDAL.ListarTodos()
                                     select c;

                    d.CategoriasCliente = new List<CategoriaCliente>();
                    foreach (var cat in categorias)
                    {
                        d.CategoriasCliente.Add(cat);
                    }
                    categorias = null;
                });

                Task t2 = Task.Factory.StartNew(() =>
                {
                    var formaPagamentoDAL = new FormaPagamentoDAL();
                    var formasPagamento = from f in formaPagamentoDAL.ListarTodos()
                                          select f;

                    d.FormasPagamento = new List<FormaPagamento>();

                    foreach (var forma in formasPagamento)
                    {
                        d.FormasPagamento.Add(forma);
                    }

                    formasPagamento = null;
                });

                Task t3 = Task.Factory.StartNew(() =>
                {
                    var grupoContasAReceberDAL = new GrupoContasAReceberDAL();

                    var grupoContasReceber = from ct in grupoContasAReceberDAL.ListarTodos()
                                             select ct;

                    d.GruposContasReceber = new List<GrupoContasAReceber>();

                    foreach (var grupo in grupoContasReceber)
                    {
                        d.GruposContasReceber.Add(grupo);
                    }
                    grupoContasReceber = null;
                });

                Task t4 = Task.Factory.StartNew(() =>
                {

                    var representanteDAL = new RepresentanteDAL();

                    //var representantes = from rep in representanteDAL.ListarTodos().Where(r => r.usuCodfil == codFilial)
                    //                     select rep;

                    var representantes = from rep in representanteDAL.ListarTodos().Where(r => r.sitrep == "A")
                                         select rep;

                    d.Representantes = new List<Representante>();

                    foreach (var representante in representantes)
                    {
                        d.Representantes.Add(representante);
                    }

                    //representantes = null;
                }).ContinueWith( _ =>
                {
                 var repBLL = new RepresentanteBLL();
                    d.Vendedores = repBLL.ListarVendedores(0, d.Representantes);

                });

                Task t5 = Task.Factory.StartNew(() =>
                {
                    var regiaoVendasDAL = new RegiaoVendasDAL();

                    var regioesVendas = from reg in regiaoVendasDAL.ListarTodos()
                                        select reg;

                    d.RegioesVendas = new List<RegiaoVendas>();

                    foreach (var regiao in regioesVendas)
                    {
                        d.RegioesVendas.Add(regiao);
                    }

                    regioesVendas = null;
                });

                Task t6 = Task.Factory.StartNew(() => {

                    var prazoDAL = new CondicaoPagamentoDAL();
                    var prazos = prazoDAL.ListarTodos().Where(p => p.usuSitsicad == "A").ToList();
                    d.CondicoesPagamento = prazos;

                });

                //Task t7 = Task.Factory.StartNew();

                Task.WaitAll(t1, t2, t3, t4,t5, t6);
            }
        }