Example #1
0
        private void SetAccess(AccessKind kind, string userId, bool allowed)
        {
            if (userId == null)
            {
                throw new ArgumentException("Cannot set access for an unsaved user or role.");
            }

            ICollection <string> target = null;

            switch (kind)
            {
            case AccessKind.Read:
                target = Readers;
                break;

            case AccessKind.Write:
                target = Writers;
                break;

            default:
                throw new NotImplementedException("Unknown AccessKind");
            }

            if (allowed)
            {
                target.Add(userId);
            }
            else
            {
                target.Remove(userId);
            }
        }
Example #2
0
 private bool GetAccess(AccessKind kind, string userId) {
   if (userId == null) {
     throw new ArgumentException("Cannot get access for an unsaved user or role.");
   }
   switch (kind) {
     case AccessKind.Read:
       return readers.Contains(userId);
     case AccessKind.Write:
       return writers.Contains(userId);
     default:
       throw new NotImplementedException("Unknown AccessKind");
   }
 }
Example #3
0
 /// <summary>
 /// アクセス修飾子
 /// </summary>
 /// <param name="text">テキスト</param>
 public AccessModifier(string text)
 {
     if (text == "public")
     {
         Kind = AccessKind.Public;
     }
     else if (text == "protected")
     {
         Kind = AccessKind.Protected;
     }
     else if (text == "private")
     {
         Kind = AccessKind.Private;
     }
 }
Example #4
0
        private bool GetAccess(AccessKind kind, string userId)
        {
            if (userId == null)
            {
                throw new ArgumentException("Cannot get access for an unsaved user or role.");
            }
            switch (kind)
            {
            case AccessKind.Read:
                return(readers.Contains(userId));

            case AccessKind.Write:
                return(writers.Contains(userId));

            default:
                throw new NotImplementedException("Unknown AccessKind");
            }
        }
Example #5
0
        private bool CanDo(AccessKind accessKind, params ProjectRoles[] roles)
        {
            if (roles == null)
            {
                return(false);
            }

            if (!roles.Any())
            {
                return(false);
            }
            if (!_roles.ContainsKey(accessKind))
            {
                return(false);
            }

            return(roles.Any(i => _roles[accessKind].Contains(i)));
        }
Example #6
0
 private void SetAccess(AccessKind kind, string userId, bool allowed) {
   if (userId == null) {
     throw new ArgumentException("Cannot set access for an unsaved user or role.");
   }
   ICollection<string> target = null;
   switch (kind) {
     case AccessKind.Read:
       target = readers;
       break;
     case AccessKind.Write:
       target = writers;
       break;
     default:
       throw new NotImplementedException("Unknown AccessKind");
   }
   if (allowed) {
     target.Add(userId);
   } else {
     target.Remove(userId);
   }
 }