public IActionResult BuscaVisitas(int num, int zonas, int delegacao, int area, int condominio, int venda, int d1d2, int tipovisita, int rejeicao, int statuscond, String condominioinput, String agcomercialinput, String localidadeinput, String bairro, String logradouroinput, String diavisita1, String diavisita2, int Numero1, int Numero2, int lote) { // definicoes da paginacao var pagina = 0; var PaginaClicada = num; var itensPagina = 20; if (PaginaClicada != 0) { pagina = (PaginaClicada - 1) * 20; } //---- lógica de restrição de filtros de acordo com o acesso do usuário var d = HttpContext.Session.GetInt32("Delegação"); var z = HttpContext.Session.GetInt32("Zona"); var quantArea = HttpContext.Session.GetInt32("QuantidadeArea"); if (quantArea != null && ((int)quantArea == 1)) { area = (int)HttpContext.Session.GetInt32("Área"); } // se for cliente, vai ter as variáveis de sessão preenchidas zonas = (z != null) ? (int)z : zonas; delegacao = (d != null) ? (int)d : delegacao; //----FIM lógica de restrição de filtros de acordo com o acesso do usuário // retorna a consulta filtrada pelos parametros var visitas = _VisitasRepository.GetVisitasFiltro(zonas, delegacao, area, condominio); // filtra as seguintes colunas if (lote != 0) { visitas = visitas.Where(v => v.IdLote == lote); } if (venda != 0) { visitas = visitas.Where(c => c.Vendaid == venda); } if (d1d2 != 0) { visitas = visitas.Where(c => c.Dxid == d1d2); } if (tipovisita != 0) { visitas = visitas.Where(c => c.TipoVisitaid == tipovisita); } if (rejeicao != 0) { visitas = visitas.Where(c => c.Negativaid == rejeicao); } if (statuscond != 0) { visitas = visitas.Where(c => c.Statusid == statuscond); } if (condominioinput != null) { visitas = visitas.Where(c => c.Condominio.Contains(condominioinput)); } if (agcomercialinput != null) { visitas = visitas.Where(c => c.AgVisita.Contains(agcomercialinput)); } if (localidadeinput != null) { visitas = visitas.Where(c => c.Localidade.Contains(localidadeinput)); } if (bairro != null) { visitas = visitas.Where(c => c.Bairro.Contains(bairro)); } if (logradouroinput != null) { visitas = visitas.Where(c => c.Logradouro.Contains(logradouroinput)); } if (Numero1 != 0 && Numero2 != 0) { visitas = visitas.Where(c => c.Num >= Numero1 && c.Num <= Numero2).OrderBy(c => c.Num); } if (diavisita1 != null && diavisita2 != null) { DateTime dt = Convert.ToDateTime(diavisita1); DateTime dt2 = Convert.ToDateTime(diavisita2); visitas = visitas.Where(w => w.DataHora >= dt && w.DataHora <= dt2 ); } var retorno = new { // paginacao visitas = visitas.Skip(pagina).Take(itensPagina), contagem = visitas.Count() // contagem }; return(Json(retorno)); }
public IActionResult BuscaVisitas(int num, int zonas, int delegacao, int area, int condominio, int venda, int d1d2, int tipovisita, int rejeicao, int statuscond, String condominioinput, String agcomercialinput, String localidadeinput, String bairro, String logradouroinput, String diavisita1, String diavisita2, int Numero1, int Numero2, int lote) { // definicoes da paginacao var pagina = 0; var PaginaClicada = num; var itensPagina = 20; if (PaginaClicada != 0) { pagina = (PaginaClicada - 1) * 20; } // retorna a consulta filtrada pelos parametros var visitas = _VisitasRepository.GetVisitasFiltro(zonas, delegacao, area, condominio); // filtra as seguintes colunas if (lote != 0) { visitas = visitas.Where(v => v.IdLote == lote); } if (venda != 0) { visitas = visitas.Where(c => c.Vendaid == venda); } if (d1d2 != 0) { visitas = visitas.Where(c => c.Dxid == d1d2); } if (tipovisita != 0) { visitas = visitas.Where(c => c.TipoVisitaid == tipovisita); } if (rejeicao != 0) { visitas = visitas.Where(c => c.Negativaid == rejeicao); } if (statuscond != 0) { visitas = visitas.Where(c => c.Statusid == statuscond); } if (condominioinput != null) { visitas = visitas.Where(c => c.Condominio.Contains(condominioinput)); } if (agcomercialinput != null) { visitas = visitas.Where(c => c.AgVisita.Contains(agcomercialinput)); } if (localidadeinput != null) { visitas = visitas.Where(c => c.Localidade.Contains(localidadeinput)); } if (bairro != null) { visitas = visitas.Where(c => c.Bairro.Contains(bairro)); } if (logradouroinput != null) { visitas = visitas.Where(c => c.Logradouro.Contains(logradouroinput)); } if (Numero1 != 0 && Numero2 != 0) { visitas = visitas.Where(c => c.Num >= Numero1 && c.Num <= Numero2).OrderBy(c => c.Num); } if (diavisita1 != null && diavisita2 != null) { DateTime dt = Convert.ToDateTime(diavisita1); DateTime dt2 = Convert.ToDateTime(diavisita2); visitas = visitas.Where(w => w.DataHora >= dt && w.DataHora <= dt2 ); } var retorno = new { // paginacao visitas = visitas.Skip(pagina).Take(itensPagina), contagem = visitas.Count() // contagem }; return(Json(retorno)); }