public void PreencheDependencias(DadoPrincipalSolicitacao d)
        {
            using (var ramoDAL = new RamoAtividadeDAL())
            {
                Task t1 = Task.Factory.StartNew(() =>
                {

                    var ramos = from ramo in ramoDAL.ListarTodos()
                                select ramo;

                    d.RamosAtividade = new List<RamoAtividade>();

                    foreach (var r in ramos)
                    {
                        d.RamosAtividade.Add(r);
                    }
                });

                Task t2 = Task.Factory.StartNew(() =>
                {
                    var rotaDAL = new RotaDAL();

                    d.Rotas = new List<Rota>();
                    var rotas = from rota in rotaDAL.ListarTodos()
                                select rota;

                    foreach (var r in rotas)
                    {
                        d.Rotas.Add(r);
                    }
                });

                Task t3 = Task.Factory.StartNew(() =>
                {
                    var subRotaDAL = new SubRotaDAL();

                    d.SubRotas = new List<SubRota>();
                    var subrotas = from s in subRotaDAL.ListarTodos()
                                   select s;

                    foreach (var s in subrotas)
                    {
                        d.SubRotas.Add(s);
                    }
                    //d.SubRotas = new List<SubRota>();
                });

                Task t4 = Task.Factory.StartNew(() =>
                {
                    var grupoEmpresaDAL = new GrupoEmpresaDAL();

                    d.GrupoEmpresas = new List<GrupoEmpresa>();
                    var grupo = from g in grupoEmpresaDAL.ListarTodos()
                                select g;

                    foreach (var g in grupo)
                    {
                        d.GrupoEmpresas.Add(g);

                    }
                });

                Task t5 = Task.Factory.StartNew(() => {
                    var tiposAlteracaoDAL = new TipoAlteracaoDAL();
                    d.TiposAlteracao = new Dictionary<string, string>();

                    d.TiposAlteracao = tiposAlteracaoDAL.ListarTodos().Where(t => t.Situacao == "A").ToDictionary(t => t.CodTipoAlteracao.ToString(), t => t.Descricao);

                });

                if ( (!String.IsNullOrEmpty(d.EmailNFE)) && d.EmailNFE.IndexOf(';') != -1)
                {
                    d.EmailNFE2 = d.EmailNFE.Split(';')[1];
                    d.EmailNFE = d.EmailNFE.Split(';')[0];
                }

                Task.WaitAll(t1, t2, t3, t4, t5);
            }
        }
        public void PreencheDependencias(DadoPrincipalAprovacao d)
        {
            using (var ramoDAL = new RamoAtividadeDAL())
            {
                Task t1 = Task.Factory.StartNew(() =>
                {

                    var ramos = from ramo in ramoDAL.ListarTodos()
                                select ramo;

                    d.RamosAtividade = new List<RamoAtividade>();

                    foreach (var r in ramos)
                    {
                        d.RamosAtividade.Add(r);
                    }
                });

                Task t2 = Task.Factory.StartNew(() =>
                {
                    var rotaDAL = new RotaDAL();

                    d.Rotas = new List<Rota>();
                    var rotas = from rota in rotaDAL.ListarTodos()
                                select rota;

                    foreach (var r in rotas)
                    {
                        d.Rotas.Add(r);
                    }
                });

                Task t3 = Task.Factory.StartNew(() =>
                {
                    var subRotaDAL = new SubRotaDAL();

                    d.SubRotas = new List<SubRota>();
                    var subrotas = from s in subRotaDAL.ListarTodos()
                                   select s;

                    foreach (var s in subrotas)
                    {
                        d.SubRotas.Add(s);
                    }
                    //d.SubRotas = new List<SubRota>();
                });

                Task t4 = Task.Factory.StartNew(() =>
                {
                    var grupoEmpresaDAL = new GrupoEmpresaDAL();

                    d.GrupoEmpresas = new List<GrupoEmpresa>();
                    var grupo = from g in grupoEmpresaDAL.ListarTodos()
                                select g;

                    foreach (var g in grupo)
                    {
                        d.GrupoEmpresas.Add(g);

                    }
                });

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