Esempio n. 1
0
        /// <summary>
        /// Deletes a role.
        /// </summary>
        /// <param name="role">Role</param>
        public async override Task <IdentityResult> DeleteAsync(TRole role)
        {
            if (role.IsStatic)
            {
                return(MajidIdentityResult.Failed(string.Format(L("CanNotDeleteStaticRole"), role.Name)));
            }

            return(await base.DeleteAsync(role));
        }
Esempio n. 2
0
        public async override Task <IdentityResult> DeleteAsync(TUser user)
        {
            if (user.UserName == MajidUser <TUser> .AdminUserName)
            {
                return(MajidIdentityResult.Failed(string.Format(L("CanNotDeleteAdminUser"), MajidUser <TUser> .AdminUserName)));
            }

            return(await base.DeleteAsync(user));
        }
Esempio n. 3
0
        public virtual async Task <IdentityResult> CheckDuplicateUsernameOrEmailAddressAsync(long?expectedUserId, string userName, string emailAddress)
        {
            var user = (await FindByNameAsync(userName));

            if (user != null && user.Id != expectedUserId)
            {
                return(MajidIdentityResult.Failed(string.Format(L("Identity.DuplicateUserName"), userName)));
            }

            user = (await FindByEmailAsync(emailAddress));
            if (user != null && user.Id != expectedUserId)
            {
                return(MajidIdentityResult.Failed(string.Format(L("Identity.DuplicateEmail"), emailAddress)));
            }

            return(IdentityResult.Success);
        }
Esempio n. 4
0
        public virtual async Task <IdentityResult> CheckDuplicateRoleNameAsync(int?expectedRoleId, string name, string displayName)
        {
            var role = await FindByNameAsync(name);

            if (role != null && role.Id != expectedRoleId)
            {
                return(MajidIdentityResult.Failed(string.Format(L("RoleNameIsAlreadyTaken"), name)));
            }

            role = await FindByDisplayNameAsync(displayName);

            if (role != null && role.Id != expectedRoleId)
            {
                return(MajidIdentityResult.Failed(string.Format(L("RoleDisplayNameIsAlreadyTaken"), displayName)));
            }

            return(IdentityResult.Success);
        }
Esempio n. 5
0
        public async override Task <IdentityResult> UpdateAsync(TUser user)
        {
            var result = await CheckDuplicateUsernameOrEmailAddressAsync(user.Id, user.UserName, user.EmailAddress);

            if (!result.Succeeded)
            {
                return(result);
            }

            //Admin user's username can not be changed!
            if (user.UserName != MajidUser <TUser> .AdminUserName)
            {
                if ((await GetOldUserNameAsync(user.Id)) == MajidUser <TUser> .AdminUserName)
                {
                    return(MajidIdentityResult.Failed(string.Format(L("CanNotRenameAdminUser"), MajidUser <TUser> .AdminUserName)));
                }
            }

            return(await base.UpdateAsync(user));
        }