public async override Task <IdentityResult> DeleteAsync(TUser user) { if (user.UserName == EddoUser <TUser> .AdminUserName) { return(EddoIdentityResult.Failed("CanNotDeleteAdminUser", EddoUser <TUser> .AdminUserName)); } return(await base.DeleteAsync(user)); }
public async override Task <IdentityResult> DeleteAsync(TRole role) { if (role.IsStatic) { return(EddoIdentityResult.Failed(string.Format("CanNotDeleteStaticRole"), role.Name)); } return(await base.DeleteAsync(role)); }
public virtual async Task <IdentityResult> CheckDuplicateUsernameOrEmailAddressAsync(long?expectedUserId, string userName, string emailAddress) { var user = (await FindByNameAsync(userName)); if (user != null && user.Id != expectedUserId) { return(EddoIdentityResult.Failed("Identity.DuplicateUserName", userName)); } user = (await FindByEmailAsync(emailAddress)); if (user != null && user.Id != expectedUserId) { return(EddoIdentityResult.Failed("Identity.DuplicateEmail", emailAddress)); } return(IdentityResult.Success); }
public virtual async Task <IdentityResult> CheckDuplicateRoleNameAsync(int?expectedRoleId, string name, string displayName) { var role = await FindByDisplayNameAsync(name); if (role != null && role.Id != expectedRoleId) { return(EddoIdentityResult.Failed(string.Format("RoleNameIsAlreadyTaken", name))); } role = await FindByDisplayNameAsync(displayName); if (role != null && role.Id != expectedRoleId) { return(EddoIdentityResult.Failed(string.Format("RoleDisplayNameIsAlreadyTaken", displayName))); } return(IdentityResult.Success); }
/// <summary> /// 更新信息 /// </summary> /// <param name="user"></param> /// <returns></returns> 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 != EddoUser <TUser> .AdminUserName) { if ((await GetOldUserNameAsync(user.Id)) == EddoUser <TUser> .AdminUserName) { return(EddoIdentityResult.Failed("CanNotRenameAdminUser", EddoUser <TUser> .AdminUserName)); } } return(await base.UpdateAsync(user)); }