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; }
public BLResponse<Gasto> ObtenerGastos(ObtenerGastos gasto, IRequestContext requestContext) { var cp = Client.Execute(proxy=>{ return Gastos.Obtener(proxy, gasto, Paginador(requestContext)); }); return new BLResponse<Gasto>{ Result=cp.Result, TotalCount= cp.TotalCount, }; }
public BLResponse<Gasto> Post(ObtenerGastos gasto) { return Controller.ObtenerGastos(gasto,RequestContext); }
public BLResponse<Gasto> Get(ObtenerGastos gasto) { return Post(gasto); }