예제 #1
0
        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;
        }
예제 #2
0
        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;
        }