Exemplo n.º 1
0
        public JsonResult ConsultarNomeFantasia(string nomeFantasia)
        {
            using (var bll = new SolicitacaoBLL())
            {
                nomeFantasia = nomeFantasia.ToUpper();
                try
                {
                    // listar as solicitacoes aguardando fechamento ou aprovação, e verificar se o nome fantasia passado existe em alguma delas

                    // incluir lógica para testar se o nome fantasia está em alguma solicitação que está em aberto.

                    var aguardandoFechamento = Convert.ToInt32(SituacaoSolicitacao.AguardandoFechamento);
                    var aguardandoAprovacao = Convert.ToInt32(SituacaoSolicitacao.AguardandoAprovacao);

                    var solicitacoesEmAberto = bll.ListarTodos().Where(s => s.CodSituacaoAtual == aguardandoFechamento || s.CodSituacaoAtual == aguardandoAprovacao);

                    //// O Teste é mais complexo que isso, deve buscar nas solicitações em aberto se o cliente está nela..
                    var queryNomes = from s in solicitacoesEmAberto
                                     where s.DadosPrincipaisSolicitacao.Last().NomeFantasia == nomeFantasia
                                     select s;

                    if (queryNomes.Count() > 0)
                    {
                        return Json(new { jaExiste = true }, JsonRequestBehavior.AllowGet);
                    }
                    else
                    {
                        return Json(new { ok = "( nome fantasia Ok para continuar )" }, JsonRequestBehavior.AllowGet);
                    }
                }
                catch (Exception ex)
                {
                    return Json(new { erro = ex.Message }, JsonRequestBehavior.AllowGet);
                }
            }
        }
Exemplo n.º 2
0
        public ActionResult Pesquisa(DadosPesquisa dados, int? page)
        {
            //Autentica
            if (Session["ConexaoSapiens"] == null)
            {
                return RedirectToAction("Login", "Home");
            }
            //Autoriza
            if (!AutorizaUsuario(ControlAccessConfig.ListaAnalise))
            {
                return View("Erro", null, "Módulo não autorizado para este usuário. ");
            }

            IList<Solicitacao> solicitacoes = new List<Solicitacao>();

            using (var solBLL = new SolicitacaoBLL())
            {

                var usuario = Session["UsuarioSapiens"] as UsuarioSapiens;

                var codUsuario = 0;

                int CodSolicitacao = dados.CodSolicitacao;
                int CodTipoSolicitacao = dados.CodTipoSolicitacao;
                int CodCliente = dados.CodCliente;
                string NomeCliente = dados.NomeCliente;
                string Solicitante = dados.Solicitante;
                bool PessoaFisica = dados.PessoaFisica;
                var tipoCliente = dados.PessoaFisica ? "F" : "J";
                bool MinhasSolicitacoes = dados.MinhasSolicitacoes;
                var dataSolicitacaoIni = Convert.ToDateTime(dados.DataSolicitacaoIni.ToShortDateString());
                var dataSolicitacaoFim = Convert.ToDateTime(dados.DataSolicitacaoFim.ToShortDateString());
                var dataAprovacaoIni = Convert.ToDateTime(dados.DataAprovacaoIni.ToShortDateString());
                var dataAprovacaoFim = Convert.ToDateTime(dados.DataAprovacaoFim.ToShortDateString());
                var CodSituacaoSolicitacao = Convert.ToInt32(dados.Status);

                // se o código da solicitação for infomado, ignorar os outros filtros
                if (CodSolicitacao != 0)
                {
                    //solicitacoes = solBLL.ListarTodos().Where(s => s.Codigo == CodSolicitacao).ToList();
                    solicitacoes.Add(solBLL.ObterPorCodigo(CodSolicitacao));

                }
                else
                {

                    if (CodTipoSolicitacao == 0)
                    {
                        solicitacoes = solBLL.ListarTodos();
                    }
                    else
                    {
                        solicitacoes = solBLL.ListarTodos().Where(s => s.CodTipoSolicitacao == CodTipoSolicitacao).ToList();
                    }

                    if (CodCliente != 0)
                    {
                        solicitacoes = solicitacoes.Where(s => s.CodCliente == CodCliente).ToList();
                    }

                    if (!String.IsNullOrEmpty(NomeCliente))
                    {
                        solicitacoes = solicitacoes.Where(s => s.DadosPrincipaisSolicitacao.Last().RazaoSocial.StartsWith(dados.NomeCliente)).ToList();
                    }

                    if (!String.IsNullOrEmpty(dados.Solicitante))
                    {
                        codUsuario = new UsuarioSapiensBLL().ListarTodos().Where(u => u.Nomusu.StartsWith(dados.Solicitante)).Select(u => u.Codusu).FirstOrDefault();
                        solicitacoes = solicitacoes.Where(s => s.CodUsuarioSolicitacao == codUsuario).ToList();
                    }

                    if (MinhasSolicitacoes)
                    {
                        solicitacoes = solicitacoes.Where(s => s.CodUsuarioSolicitacao == usuario.Codusu).ToList();
                    }

                    if (dataSolicitacaoIni.ToShortDateString() != "01/01/0001")
                    {
                         solicitacoes = solicitacoes.Where(s => s.DatCriacao >= dataSolicitacaoIni && s.DatCriacao <= dataSolicitacaoFim).ToList();
                    }

                    if (dataAprovacaoIni.ToShortDateString() != "01/01/0001")
                    {
                        solicitacoes = solicitacoes.Where(s => s.CodSituacaoAtual == 3
                                        && s.PareceresSolicitacao.OrderBy(p => p.CodParecer).Last().Datpar.Value >= dataAprovacaoIni
                                        && s.PareceresSolicitacao.OrderBy(p => p.CodParecer).Last().Datpar.Value <= dataAprovacaoFim).ToList();
                    }

                    if (CodSituacaoSolicitacao != 0)
                    {
                        solicitacoes = solicitacoes.Where(s => s.CodSituacaoAtual == CodSituacaoSolicitacao).ToList();
                    }

                    solicitacoes = solicitacoes.Where(s => s.DadosPrincipaisSolicitacao.Last().TipoCliente == tipoCliente).ToList();

                }

                solBLL.ObterNomes(solicitacoes.ToList());

                //var ajaxGridFactory = new Grid.Mvc.Ajax.GridExtensions.AjaxGridFactory();
                //var grid = ajaxGridFactory.CreateAjaxGrid(solicitacoes.OrderBy(c => c.Codigo).OrderBy(s => s.Codigo).AsQueryable(), page.HasValue ? page.Value : 1, false);

                return View("Index", solicitacoes.OrderBy(c => c.Codigo).OrderBy(s => s.Codigo).AsQueryable());
            }
            //retornar uma lista de solicitações com os dados da pesquisa
        }