public async Task<IEnumerable<Cliente>> ListaClientesAsync(FiltroBusquedaCliente filtroBusqueda, int indicePagina, int registrosPorPagina) { var numPagina = indicePagina - 1; if (numPagina < 0) numPagina = 0; var consulta = _contexto.Clientes.AsQueryable(); if (filtroBusqueda.TieneFiltrosBusqueda) { if (!string.IsNullOrEmpty(filtroBusqueda.NombreOEmpresa)) { consulta = consulta.Where(m => m.NombreOEmpresa.Contains(filtroBusqueda.NombreOEmpresa)); } if (!string.IsNullOrEmpty(filtroBusqueda.IdentificacionFiscal)) { consulta = consulta.Where(m => m.NumeroIdentificacionFiscal.Contains(filtroBusqueda.IdentificacionFiscal)); } if (filtroBusqueda.Id.HasValue) { consulta = consulta.Where(m => m.Id == filtroBusqueda.Id.Value); } } var clientes = await consulta.OrderBy(m => m.NombreOEmpresa).Skip(registrosPorPagina * numPagina).Take(registrosPorPagina).ToListAsync(); return clientes; }
public async Task<IPagedList<LineaListaGestionClientes>> ListaGestionClientesAsync(FiltroBusquedaCliente filtroBusqueda) { var consulta = _contexto.Clientes.AsQueryable(); if (filtroBusqueda.TieneFiltrosBusqueda) { consulta = consulta.Where_FiltroBusqueda(filtroBusqueda); } var consultaOrdenada = consulta.OrderBy_OrdenarPor(filtroBusqueda.OrdenarPorEnum); var consultaClientes = consultaOrdenada .Select(m => new LineaListaGestionClientes { Id = m.Id, NombreOEmpresa = m.NombreOEmpresa, NumeroIdentificacionFiscal = m.NumeroIdentificacionFiscal, Email = m.Email, Direccion = m.Direccion, NombreComercial = m.NombreComercial, NumFacturas = m.Facturas.Count }); var clientes = await consultaClientes.ToPagedListAsync(filtroBusqueda.IndicePagina, filtroBusqueda.LineasPorPagina); return clientes; }
public async Task<IEnumerable<Cliente>> ListaDiferentesClientesEnFacturasAsync(FiltroBusquedaCliente filtroBusqueda, int indicePagina, int registrosPorPagina) { var numPagina = indicePagina - 1; if (numPagina < 0) numPagina = 0; var consulta = _contexto.Facturas.Where(m=>m.IdComprador != null); if (filtroBusqueda.TieneFiltrosBusqueda) { if (!string.IsNullOrEmpty(filtroBusqueda.NombreOEmpresa)) { consulta = consulta.Where(m => m.CompradorNombreOEmpresa.Contains(filtroBusqueda.NombreOEmpresa)); } if (!string.IsNullOrEmpty(filtroBusqueda.IdentificacionFiscal)) { consulta = consulta.Where(m => m.CompradorNumeroIdentificacionFiscal.Contains(filtroBusqueda.IdentificacionFiscal)); } if (filtroBusqueda.Id.HasValue) { consulta = consulta.Where(m => m.IdComprador == filtroBusqueda.Id.Value); } } var consultaClientes = consulta .Select(m => new Cliente { Id = m.IdComprador.Value, CodigoPostal = m.CompradorCodigoPostal, Direccion = m.CompradorDireccion, Email = m.CompradorEmail, Localidad = m.CompradorLocalidad, NombreOEmpresa = m.CompradorNombreOEmpresa, NumeroIdentificacionFiscal = m.CompradorNumeroIdentificacionFiscal, Provincia = m.CompradorProvincia }).Distinct(); var clientes = await consultaClientes.OrderBy(m=>m.NombreOEmpresa).Skip(registrosPorPagina * numPagina).Take(registrosPorPagina).ToListAsync(); return clientes; }
public async Task<ActionResult> ListaGestionClientes(FiltroBusquedaCliente filtroBusqueda, int? pagina) { if (!filtroBusqueda.TieneFiltrosBusqueda) { filtroBusqueda = RecuperarFiltroBusqueda(); if (pagina.HasValue) filtroBusqueda.IndicePagina = pagina.Value; } var viewmodel = new ListaGestionClientesViewModel { FiltroBusqueda = filtroBusqueda, ListaClientes = await _servicioCliente.ListaGestionClientesAsync(filtroBusqueda) }; GuardarFiltroBusqueda(filtroBusqueda); return View("ListaGestionClientes", viewmodel); }
public static IQueryable<Cliente> Where_FiltroBusqueda(this IQueryable<Cliente> consulta, FiltroBusquedaCliente filtroBusqueda) { if (!string.IsNullOrEmpty(filtroBusqueda.NombreOEmpresa)) { consulta = consulta.Where(m => m.NombreOEmpresa.Contains(filtroBusqueda.NombreOEmpresa) || m.NombreComercial.Contains(filtroBusqueda.NombreOEmpresa) ); } if (!string.IsNullOrEmpty(filtroBusqueda.IdentificacionFiscal)) { consulta = consulta.Where(m => m.NumeroIdentificacionFiscal.Contains(filtroBusqueda.IdentificacionFiscal)); } if (filtroBusqueda.Id.HasValue) { consulta = consulta.Where(m => m.Id == filtroBusqueda.Id.Value); } return consulta; }
private void GuardarFiltroBusqueda(FiltroBusquedaCliente filtro) { Session["FiltroBusquedaClientes"] = filtro; }
public async Task<ActionResult> AutocompletarPorIdentificacionFiscal(string term) { var filtroBusqueda = new FiltroBusquedaCliente { IdentificacionFiscal = term }; var clientes = await _servicioCliente.ListaClientesAsync(filtroBusqueda, 1, 10); return Json(clientes, JsonRequestBehavior.AllowGet); }