Пример #1
0
        /// <summary>
        /// Is access denied
        /// </summary>
        /// <param name="category">Category</param>
        /// <param name="context">context</param>
        /// <returns>true - access is denied; otherwise, false</returns>
        public static bool IsAccessDenied(this Category category, NopObjectContext context)
        {
            if (category == null)
                throw new ArgumentNullException("category");

            bool result = false;
            if (NopContext.Current.User != null)
            {
                //customer roles
                var crQuery = from cr in NopContext.Current.User.CustomerRoles
                              orderby cr.CustomerRoleId
                              select cr.CustomerRoleId;

                //ACL query
                var query = from acl in context.ACLPerObject
                            where acl.ObjectId == category.CategoryId &&
                            acl.ObjectTypeId == (int)ObjectTypeEnum.Category &&
                            acl.Deny == true &&
                                //crQuery.Count > 0 &&
                            crQuery.Contains(acl.CustomerRoleId)
                            select acl.CustomerRoleId;

                result = query.ToList().Count > 0;
            }

            return result;
        }
Пример #2
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public SettingManager(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopStaticCache();
 }
Пример #3
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public OnlineUserService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopStaticCache();
 }
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public ShippingByTotalService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #5
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public ShoppingCartService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #6
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public LocalizationManager(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopStaticCache();
 }
Пример #7
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public MaintenanceService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public StateProvinceService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #9
0
        /// <summary>
        /// Filter query results by ACL per object
        /// </summary>
        /// <param name="query">Source query</param>
        /// <param name="context">context</param>
        /// <returns>Result</returns>
        public static IQueryable<Category> WhereAclPerObjectNotDenied(this IQueryable<Category> query, NopObjectContext context)
        {
            if (NopContext.Current.User != null)
            {
                //customer roles
                var crQuery = from cr in NopContext.Current.User.CustomerRoles
                              orderby cr.CustomerRoleId
                              select cr.CustomerRoleId;

                //ACL query
                query = query.Where(c => (from acl in context.ACLPerObject
                                          where acl.ObjectId == c.CategoryId &&
                                          acl.ObjectTypeId == (int)ObjectTypeEnum.Category &&
                                          acl.Deny == true &&
                                              //crQuery.Count > 0 &&
                                          crQuery.Contains(acl.CustomerRoleId)
                                          select acl.CustomerRoleId).Count() == 0);
            }

            return query;
        }
Пример #10
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public TaxCategoryService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #11
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public AffiliateService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #12
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public TaxProviderService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #13
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public SearchLogService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public ManufacturerService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #15
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public WarehouseService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public ShippingByWeightAndCountryService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
Пример #17
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public ProductService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="context">Object context</param>
 public ChargeTypeService(NopObjectContext context)
 {
     this._context = context;
     this._cacheManager = new NopRequestCache();
 }