Example #1
0
 public override Expression <Func <ApplicationUser, bool> > HandleWhere(DatumWhereCondition condition, object param,
                                                                        Type datumType, out bool callNextHandler)
 {
     callNextHandler = true;
     if (condition.Is(UserDatumWhereConditionsProvider.IS_ACTIVATED_WHERE_CONDITION_NAME) &&
         param is UserDatumIsActivatedTableFilterForm)
     {
         var par      = param.DirectCastTo <UserDatumIsActivatedTableFilterForm>();
         var isActive = par.IsActivated;
         return(x => x.IsActivated == isActive);
     }
     return(null);
 }
Example #2
0
        public override Expression <Func <ApplicationUser, bool> > HandleWhere(DatumWhereCondition condition, object param,
                                                                               Type datumType, out bool callNextHandler)
        {
            callNextHandler = true;
            if (!condition.Is(UserDatumWhereConditionsProvider.IS_IN_ROLE_WHERE_CONDITION_NAME))
            {
                return(null);
            }
            if (!(param is string[]))
            {
                return(null);
            }
            var par     = param.DirectCastTo <string[]>();
            var roleIds = _dbContext.Roles.Where(x => par.Contains(x.Name)).Select(x => x.Id).ToArray();

            return(x => x.Roles.Any(r => roleIds.Contains(r.RoleId)));
        }
Example #3
0
 public override Expression <Func <ApplicationRole, bool> > HandleWhere(DatumWhereCondition condition, object param,
                                                                        Type datumType, out bool callNextHandler)
 {
     callNextHandler = true;
     if (condition.Is(RoleDatumWhereConditionsProvider.IS_SYSTEM_RESERVED_WHERE_CONDITION_NAME) &&
         param is RoleDatumIsReservedTableFilterForm)
     {
         var par           = param.DirectCastTo <RoleDatumIsReservedTableFilterForm>();
         var isRes         = par.IsReserved;
         var reservedNames = new[] {
             RequiredRoleInfo.Authenticated.Name, RequiredRoleInfo.Guest.Name, RequiredRoleInfo.SuperAdmin.Name
         };
         if (isRes)
         {
             return(x => reservedNames.Any(rn => rn.ToLower() == x.Name.ToLower()));
         }
         return(x => reservedNames.All(rn => rn.ToLower() != x.Name.ToLower()));
     }
     return(null);
 }
 public Expression HandleWhereBase(DatumWhereCondition condition, object param, Type datumType,
                                   out bool callNextHandler)
 {
     return(HandleWhere(condition, param, datumType, out callNextHandler));
 }
 public abstract Expression <Func <TDat, bool> > HandleWhere(DatumWhereCondition condition, object param,
                                                             Type datumType, out bool callNextHandler);