예제 #1
0
        public AAA2ErrorCode AddUserData(AAA2Credential userCredential, UserData2[] data)
        {
            User2 user;
            AAA2ErrorCode error = GetUser(userCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            user.Data.Add(data);

            return AAA2ErrorCode.OK;
        }
예제 #2
0
        /// <summary>
        /// Kullanıcı ekle
        /// </summary>
        /// <param name="loginCredential">İşlem yapacak kullanıcının bilgileri</param>
        /// <param name="userToAdd">Eklenecek kullanıcı</param>
        /// <param name="data">Eklenen kullanıcıya ait bilgiler</param>
        /// <returns></returns>
        public AAA2ErrorCode AddUser(AAA2Credential loginCredential, AAA2Credential userToAdd, UserData2[] data)
        {
            User2 user;
            AAA2ErrorCode error = GetUser(loginCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            if (!user.AddUser)
                return AAA2ErrorCode.PermissionRequired;

            user = new User2(userToAdd);
            user.Data.Add(data);

            if (_users.TryAdd(user.Credential.Username, user))
            {
                return AAA2ErrorCode.OK;
            }
            else
            {
                return AAA2ErrorCode.AlreadyExists;
            }
        }
예제 #3
0
 /// <summary>
 /// Hem kullanıcı adı hem de şifresi ile sistemi kontrol eder. Şifresi yanlışsa kullanıcı yok der.
 /// </summary>
 /// <param name="userCredential">Kontrol edilecek kullanıcı bilgileri</param>
 /// <returns></returns>
 public AAA2ErrorCode CheckUser(AAA2Credential userCredential)
 {
     User2 user;
     return GetUser(userCredential, out user);
 }
예제 #4
0
        /// <summary>
        /// Anahtar kelime üzerinde sorgulama.
        /// </summary>
        /// <param name="loginCredential">İşlemi yapacak olan kullanıcı</param>
        /// <param name="keyOfUser">Key name (örnek: "PLAKA")</param>
        /// <param name="valueOfKey">Key değeri (örnek: "06be5409")</param>
        /// <param name="queryStringOfKey">İlgili key ile ilişkili kullanıcının verileri üzerinde yapılacak sorgu</param>
        /// <param name="data">UserData</param>
        /// <returns></returns>
        public AAA2ErrorCode UserQueryByKey(AAA2Credential loginCredential, string keyOfUser, string valueOfKey, string queryStringOfKey, out UserData2[] data)
        {
            data = null;

            User2 user;
            AAA2ErrorCode error = GetUser(loginCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            if (!user.KeyQuery)
                return AAA2ErrorCode.PermissionRequired;

            Key k;

            if (_keys.TryGetKey(keyOfUser, out k))
            {
                if (k.Get(valueOfKey, out user))
                {
                    data = user.Data.Search(queryStringOfKey);
                    return AAA2ErrorCode.OK;
                }
                else
                {
                    return AAA2ErrorCode.KeyNotFound;
                }
            }
            else
            {
                return AAA2ErrorCode.KeyNotFound;
            }
        }
예제 #5
0
 private AAA2ErrorCode GetUser(AAA2Credential credential, out User2 user)
 {
     if (_users.TryGetValue(credential.Username, out user))
     {
         if (user.Credential.Password == credential.Password)
         {
             return AAA2ErrorCode.OK;
         }
         else
         {
             return AAA2ErrorCode.UserNotFound;
         }
     }
     else
     {
         return AAA2ErrorCode.UserNotFound;
     }
 }
예제 #6
0
        public AAA2ErrorCode UserQuery(AAA2Credential userCredential, string queryString, out UserData2[] data)
        {
            data = null;

            User2 user;
            AAA2ErrorCode error = GetUser(userCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            data = user.Data.Search(queryString);

            return AAA2ErrorCode.OK;
        }
예제 #7
0
        public AAA2ErrorCode RemoveUserData(AAA2Credential userCredential, string[] keys)
        {
            User2 user;
            AAA2ErrorCode error = GetUser(userCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            user.Data.Remove(keys);

            return AAA2ErrorCode.OK;
        }
예제 #8
0
        /// <summary>
        /// Kullanıcı silmeye hakkı olan birisi bütün sistemi boşaltabilir.
        /// </summary>
        /// <param name="loginCredential">İşlem yapacak kullanıcı bilgileri</param>
        /// <returns></returns>
        public AAA2ErrorCode RemoveAllUsers(AAA2Credential loginCredential)
        {
            User2 user;
            AAA2ErrorCode error = GetUser(loginCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            if (!user.RemoveUser)
                return AAA2ErrorCode.PermissionRequired;

            _users.Clear();

            return AAA2ErrorCode.OK;
        }
예제 #9
0
        public AAA2ErrorCode GetAllUsers(AAA2Credential userCredential, out User2[] users)
        {
            users = null;

            User2 user;
            AAA2ErrorCode error = GetUser(userCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            users = _users.Values.ToArray<User2>();

            return AAA2ErrorCode.OK;
        }
예제 #10
0
        /// <summary>
        /// Kullanıcı sil
        /// </summary>
        /// <param name="loginCredential">İşlemi yapacak ve hakkı olması gereken kullanıcı</param>
        /// <param name="userToDelete">Silinecek kullanıcı</param>
        /// <returns></returns>
        public AAA2ErrorCode DeleteUser(AAA2Credential loginCredential, AAA2Credential userToDelete)
        {
            User2 user;
            AAA2ErrorCode error = GetUser(loginCredential, out user);

            if (error != AAA2ErrorCode.OK)
                return error;

            if (!user.RemoveUser)
                return AAA2ErrorCode.PermissionRequired;

            if (_users.TryRemove(userToDelete.Username, out user))
            {
                return AAA2ErrorCode.OK;
            }
            else
            {
                return AAA2ErrorCode.UserNotFound;
            }
        }