public static DALResponse<Concepto> Obtener(RepositoryProxy proxy, ObtenerConceptos concepto,Pager paginador) { long? totalCount=null; var visitor = ReadExtensions.CreateExpression<Concepto>(); var predicate = PredicateBuilder.True<Concepto>(); if(!concepto.Tipo.IsNullOrEmpty()){ predicate= q=>q.Tipo==concepto.Tipo; } if( concepto.SoloDetalles) { predicate =predicate.AndAlso(q=>q.Codigo.Contains(".")); } visitor.Where(predicate); if(paginador.PageNumber.HasValue) { totalCount= proxy.DbCmd.Count(predicate); int rows= paginador.PageSize.HasValue? paginador.PageSize.Value:DAL.PageSize; visitor.Limit(paginador.PageNumber.Value*rows, rows); } visitor.OrderBy(f=>f.Codigo); var response = new DALResponse<Concepto>(); response.Result= proxy.DbCmd.Select(visitor); response.TotalCount= totalCount; return response; }
public static DALResponse<Gasto> Obtener(RepositoryProxy proxy, ObtenerGastos gasto,Pager paginador) { long? totalCount=null; var visitor = ReadExtensions.CreateExpression<Gasto>(); var predicate = PredicateBuilder.True<Gasto>(); if(gasto.FechaDesde.HasValue){ if(!gasto.FechaHasta.HasValue) gasto.FechaHasta=gasto.FechaDesde; predicate= q=>q.Fecha>=gasto.FechaDesde.Value && q.Fecha<=gasto.FechaHasta; } visitor.Where(predicate); if(paginador.PageNumber.HasValue) { totalCount= proxy.DbCmd.Count(predicate); int rows= paginador.PageSize.HasValue? paginador.PageSize.Value:DAL.PageSize; visitor.Limit(paginador.PageNumber.Value*rows, rows); } var response = new DALResponse<Gasto>(); response.Result= proxy.DbCmd.Select(visitor); response.TotalCount= totalCount; return response; }