Fórum Dificuldade em filtrar informações #496193
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
Curtir tópico
+ 0Posts
01/10/2014
Joel Rodrigues
Gostei + 0
01/10/2014
Pjava
Gostei + 0
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.
Gostei + 0
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());
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)