public IEnumerable<SG_KARDEX_CLIENTE> ObtenerKardexCliente(PagingInfo paginacion, FiltrosModel<KardexClienteModel> filtros, ConsumoAmortizacionModel consumos = null) { IQueryable<SG_KARDEX_CLIENTE> result = null; ExecuteManager(uow => { var manager = new SG_KARDEX_CLIENTEManager(uow); //obtener todos los registros result = manager.BuscarTodos(); filtros.FiltrarDatos(); result = filtros.Diccionario.Count() > 0 ? result.Where(filtros.Predicado, filtros.Diccionario.Values.ToArray()) : result; if (filtros.FECHA_INICIAL != null) { result = result.Where(x => x.FECHA >= filtros.FECHA_INICIAL); } if (filtros.FECHA_FINAL != null) { DateTime fecha = (DateTime)filtros.FECHA_FINAL; fecha = fecha.AddDays(1); result = result.Where(x => x.FECHA < fecha); } paginacion.total = result.Count(); consumos.consumo = result.Sum(x => x.CONSUMO); consumos.amortizacion = result.Sum(x => x.AMORTIZACION); result = manager.QueryPaged(result, paginacion.limit, paginacion.start, paginacion.sort, paginacion.dir); }); return result; }
public IEnumerable<SG_KARDEX_CLIENTE> ObtenerKardexClientePorCriterio(System.Linq.Expressions.Expression<Func<SG_KARDEX_CLIENTE, bool>> criterio = null) { IQueryable<SG_KARDEX_CLIENTE> result = null; ExecuteManager(uow => { var manager = new SG_KARDEX_CLIENTEManager(uow); result = manager.BuscarTodos(criterio); //return result; }); return result; }