예제 #1
0
        public static DALResponse<Fuente> Obtener(RepositoryProxy proxy, ObtenerFuentes fuente,Pager paginador)
        {
            long? totalCount=null;

            var visitor = ReadExtensions.CreateExpression<Fuente>();
            var predicate = PredicateBuilder.True<Fuente>();

            if(!fuente.Tipo.IsNullOrEmpty()){

                predicate= q=>q.Tipo==fuente.Tipo;
            }

            if( fuente.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<Fuente>();
            response.Result= proxy.DbCmd.Select(visitor);
            response.TotalCount= totalCount;
            return response;
        }
예제 #2
0
        public BLResponse<Fuente> ObtenerFuentes(ObtenerFuentes fuente, IRequestContext requestContext)
        {
            var cp = Client.Execute(proxy=>{
                return Fuentes.Obtener(proxy, fuente, Paginador(requestContext));
            });

            return new BLResponse<Fuente>{
                Result=cp.Result,
                TotalCount= cp.TotalCount,
            };
        }
예제 #3
0
 public BLResponse<Fuente> Post(ObtenerFuentes fuente)
 {
     return Controller.ObtenerFuentes(fuente,RequestContext);
 }
예제 #4
0
 public BLResponse<Fuente> Get(ObtenerFuentes fuente)
 {
     return Post(fuente);
 }