Beispiel #1
0
        public HttpResponseMessage GetAllFilial(String Token)
        {
            try
            {
                ListaFilial listaFilial = new ListaFilial();


                listaFilial = FilialDAL.ListaFilial("0");
                return(Request.CreateResponse(HttpStatusCode.OK, listaFilial));
            }
            catch (HttpResponseException ex)
            {
                return(ex.Response);
            }
            catch (InvalidCastException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, ex.Message));
            }
        }
Beispiel #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);
            }
        }