Dificuldade em filtrar informações
01/10/2014
0
1) Tenho 6 ComboBox em minha View que fazem os filtros para uma pesquisa.
2) Essa pesquisa, deverá montar uns CheckBox's, baseado no filtro passado. Acontece que essa montagem dos checkbox's, a LINQ que trás o resultado é a minha model. Alguns me disseram aqui que passar parâmetro direto para a Model, quebra o paradigma da OO e concordo. Nesse momento começa meu problema.
3) Estou tendo dificuldade para fazer isso. Preencho os parâmetros na View e via JQuery eu os pego. Agora como eu faço para distribuir para a minha model, de forma que a LINQ seja executada com esses filtros sendo passados no where da LINQ ou Lambda. Abaixo minha Model.
public static List<MontaArvoreAcao> montaArvoreAcao( ) { RupturaEntities db = new RupturaEntities(); var monta_arvore = (from rup in db.Ruptura join ap in db.Apresentacao on rup.Codigo_Apresentacao equals (ap.Codigo_Apresentacao) join mo in db.Motivo on rup.IDMotivo equals (mo.IDMotivo) join pdv in db.PDV on rup.CodigoPDV equals (pdv.CodigoPDV) where rup.IDMotivo != 6 //group rup by new { rup.IDRuptura} into gr select new MontaArvoreAcao { IDRuptura = rup.IDRuptura, DataRuptura = rup.DataRuptura, IDMotivo = rup.IDMotivo, Motivo = rup.Motivo.Motivo1, IDOrigem = rup.IDOrigem, CodigoPDV = rup.CodigoPDV, UF = rup.PDV.UF, Cidade = pdv.Cidade, CnpjDescricao = pdv.Cnpj + " - " + pdv.Descricao, Codigo_Apresentacao = rup.Codigo_Apresentacao, Unidade_Negocio = ap.Unidade_Negocio, Codigo_Unidade_Negocio = ap.Codigo_Unidade_Negocio, Franquia = ap.Franquia, Familia = ap.Familia, Descricao = ap.Descricao, Tipo_Rede = pdv.Tipo_PDV, Farmacia = pdv.Descricao }).ToList().OrderBy(r => r.IDMotivo); return monta_arvore.ToList(); }
Os parâmetros vindo da View são:
Pjava
Posts
01/10/2014
Joel Rodrigues
01/10/2014
Pjava
02/10/2014
Joel Rodrigues
Eu insisto que você não precisa fazer isso da forma como está pensando. Você DEVE passar os dados para o controller, que no modelo MVC é o responsável por tratar requisições do usuário e retornar algum resultado para a view. Você deve criar uma action para receber esses parâmetros, passá-los para o model e retornar um resultado.
02/10/2014
Pjava
public ActionResult Acao(string _uf, string _cidade, string _descricao)
{
string user = System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split('\\')[1].Trim();
ViewBag.User = user;
ViewData["ListaUn"] = MontaArvoreAcao.CriarListaArvoreUn(_uf,_cidade,_descricao);
ViewData["ListaFamilia"] = MontaArvoreAcao.CriarListaArvoreFamilia();
ViewData["ListaProd"] = MontaArvoreAcao.CriarListaArvoreProduto();
ViewData["ListaPdv"] = MontaArvoreAcao.CriarListaArvorePdv();
return View(MontaArvoreAcao.montaArvoreAcao());
}
Clique aqui para fazer login e interagir na Comunidade :)