public void ObterNomes(List<ConfiguracaoWorkflow> configs)
        {
            using (var grupoDAL = new GrupoSapiensDAL())
            {
                var tiposDAL = new TipoSolicitacaoClienteDAL();
                //var tiposDAL = new TipoSolicitacaoSapiensDAL();

                // pegar os grupos e os tipos de solicitação.
                var grupos = grupoDAL.ListarTodos();
                var tipos = tiposDAL.ListarTodos();

                foreach (var c in configs)
                {
                    c.StrUsuGrupo = grupos.Where(g => g.UsuId == c.UsuGrupo).Select(x => x.UsuNome).FirstOrDefault();
                    c.StrUsuTipsol = tipos.Where(t => t.CodTipoSolicitacaoCliente == c.UsuTipsol).Select(x => x.DesTipoSolicitacaoCliente).FirstOrDefault();
                    c.StrUsuProxgrupo = grupos.Where(g => g.UsuId == c.UsuProxgrupo).Select(x => x.UsuNome).FirstOrDefault();
                    c.StrUsuAlcada = String.Format("{0:C}", c.UsuAlcada);
                    c.StrUsuAlcadamax = String.Format("{0:C}", c.UsuAlcadamax);
                }

            }
        }
Example #2
0
        public void ObterNomes(List<Solicitacao> solicitacoes)
        {
            using (var filDAL = new FilialDAL())
            {

                // OBTER NOME DO CLIENTE, TIPO DA SOLICITAÇÃO E NOME DA FILIAL, usando o CodFilial
                Task t1 = Task.Factory.StartNew(() =>
                {

                    var filiais = filDAL.ListarTodos();
                    foreach (var s in solicitacoes)
                    {
                        var sol = s; // parece redundante, mas é feito assim mesmo por causa do lazy loading do LINQ

                        s.Filial = filiais
                            .Where(f => f.codfil == sol.CodFilial) // <-- Lazy Loading
                            .Select(f => f.nomfil).FirstOrDefault();
                    }
                });

                Task t3 = Task.Factory.StartNew(() =>
                {
                    var tipoSolDAL = new TipoSolicitacaoClienteDAL();
                    var queryTipos = tipoSolDAL.ListarTodos();

                    foreach (var s in solicitacoes)
                    {
                        var sol = s;
                        s.Tipo = queryTipos
                                    .Where(t => t.CodTipoSolicitacaoCliente == sol.CodTipoSolicitacao && t.SitTipoSolicitacaoCliente == "A")
                                    .Select(t => t.DesTipoSolicitacaoCliente).FirstOrDefault();
                    }
                });

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

                    var situacaoDAL = new SituacaoSolicitacaoDAL();
                    var querySituacao = situacaoDAL.ListarTodos();

                    foreach (var s in solicitacoes)
                    {
                        var sol = s;
                        //var ultimoHistorico = sol.Historicos.OrderBy(h => h.CodHistoricoSolicitacao).Last();

                        var query = from sit in querySituacao
                                    where sit.CodSituacaoSolicitacao == sol.CodSituacaoAtual
                                    select new
                                    {
                                       DesSituacao = sit.DesSituacao,
                                       CodSituacaoSolicitacao = sit.CodSituacaoSolicitacao
                                    };

                        sol.Situacao = query.FirstOrDefault() == null? "" :query.FirstOrDefault().DesSituacao;
                        //sol.CodSituacaoAtual = query.FirstOrDefault() == null ? 0 : query.FirstOrDefault().CodSituacaoSolicitacao;
                    }
                });

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

                    var usuarios = new UsuarioSapiensBLL().ListarTodos();

                    foreach (var s in solicitacoes)
                    {

                        var sol = s;

                        var query = from u in usuarios
                                    where u.Codusu == sol.CodUsuarioSolicitacao
                                    select u.Nomusu;

                        s.Usuario = query.FirstOrDefault();

                    }

                });

                Task t6 = Task.Factory.StartNew(() =>
                {
                    foreach (var s in solicitacoes)
                    {
                        s.Cliente = s.DadosPrincipaisSolicitacao.Count != 0 ? s.DadosPrincipaisSolicitacao.Last().NomeFantasia:"";
                    }
                });

                Task t7 = Task.Factory.StartNew(() => {
                    var queryPerfis = new PerfilUsuarioBLL().ListarTodos();

                    foreach (var s in solicitacoes)
                    {

                        var sol = s;
                        if(sol.PareceresSolicitacao != null)
                        {
                            if (sol.PareceresSolicitacao.Count > 0)
                            {
                                var codPerfilUsuario = sol.PareceresSolicitacao.OrderBy(p => p.CodParecer).Last().Codperusu;

                                s.Perfil = queryPerfis
                                            .Where(p => p.CodPerfilUsuario == codPerfilUsuario)
                                            .Select(p => p.DesPerfil).FirstOrDefault();
                            }
                        }
                    }

                });

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