public async Task <ActionResult> DeleteRole(string roleName) { try { var role = await roleManager.FindByNameAsync(roleName); if (role == null) { var rs = new ListOfCustomMessages(msg: "این نقش وجود ندارد", msgTypeEnum: MsgTypeEnum.Error); return(NotFound(rs)); } var result = await roleManager.DeleteAsync(role); if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } return(Ok(new ListOfCustomMessages("نقش " + roleName + " حذف شد", MsgTypeEnum.Success))); } catch (Exception ee) { Log.Error(ee.Message); return(BadRequest(new ListOfCustomMessages(ee))); } }
public ActionResult ChangeUserPass(ChangeUserPassDto changeUserPassDto) { try { var user = userMgr.FindByNameAsync(userName).Result; var result = userMgr.ChangePasswordAsync(user, changeUserPassDto.OldPassword, changeUserPassDto.NewPassword).Result; if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } var rs = new ListOfCustomMessages() { new CustomMessage { Message = "رمز عبور تغییر کرد" } }; return(Ok(rs)); } catch (Exception ee) { Log.Error(ee.Message); var rs = new ListOfCustomMessages() { new CustomMessage(ee) }; return(BadRequest(rs)); } }
public IActionResult LockUser(string userName) { try { var user = userMgr.FindByNameAsync(userName).Result; if (user == null) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر وجود ندارد", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } if ((user.LockoutEnd != null) && (user.LockoutEnd > DateTimeOffset.Now)) { user.LockoutEnd = DateTimeOffset.Now; } else { if (userName.ToLower() == "SuperAdmin".ToLower()) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر قابل قفل شدن نیست", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } user.LockoutEnd = DateTimeOffset.Now.AddYears(10); } var result = userMgr.UpdateAsync(user).Result; if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } return(Ok()); } catch (Exception ee) { Log.Error(ee.Message); var rs = new ListOfCustomMessages() { new CustomMessage(ee) }; return(BadRequest(rs)); } }
public IActionResult ResetUserPassword(UserForCreationDto us) { try { var user = userMgr.FindByNameAsync(us.UserName).Result; if (user == null) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر وجود ندارد", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } if (user.UserName.ToLower() == "SuperAdmin".ToLower()) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "برای این کاربر شدنی نیست", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } var token = userMgr.GeneratePasswordResetTokenAsync(user).Result; var result = userMgr.ResetPasswordAsync(user, token, us.Password).Result; if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } return(Ok()); } catch (Exception ee) { Log.Error(ee.Message); var rs = new ListOfCustomMessages() { new CustomMessage(ee) }; return(BadRequest(rs)); } }
public IActionResult DeleteAllClaimsWithGivenType(string userName, ClaimDto claim) { try { var user = userMgr.FindByNameAsync(userName).Result; if (user == null) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر وجود ندارد", MsgTypeEnum = MsgTypeEnum.Error } }; return(NotFound(rs)); } var claimsToDelete = db.VUsersClaims.Where(t => t.UserName.ToLower() == userName.ToLower()).Where(t => t.ClaimType.ToLower() == claim.ClaimType) .ToList().Select(t => new System.Security.Claims.Claim(type: claim.ClaimType, value: t.ClaimValue)).ToList(); if (claimsToDelete.Count() == 0) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "چیزی پیدا نشد", MsgTypeEnum = MsgTypeEnum.Error } }; return(NotFound(rs)); } var result = userMgr.RemoveClaimsAsync(user, claimsToDelete).Result; if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } return(Ok()); } catch (Exception ee) { Log.Error(ee.Message); var rs = new ListOfCustomMessages() { new CustomMessage(ee) }; return(BadRequest(rs)); } }
public IActionResult DeleteUser(string userName) { try { var user = userMgr.FindByNameAsync(userName).Result; if (user == null) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر وجود ندارد", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } if (userName.ToLower() == "SuperAdmin".ToLower()) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر قابل پاک شدن نیست", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } var result = userMgr.DeleteAsync(user).Result; if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } return(Ok()); } catch (Exception ee) { Log.Error(ee.Message); var rs = new ListOfCustomMessages() { new CustomMessage(ee) }; return(BadRequest(rs)); } }
public IActionResult GetAllClaims(string userName) { var user = userMgr.FindByNameAsync(userName).Result; if (user == null) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر وجود ندارد", MsgTypeEnum = MsgTypeEnum.Error } }; return(NotFound(rs)); } var claims = userMgr.GetClaimsAsync(user).Result; return(Ok(claims)); }
public IActionResult CreateUser(UserForCreationDto us) { try { var user = userMgr.FindByNameAsync(us.UserName).Result; if (user != null) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر قبلاً وجود دارد", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } user = new ApplicationUser { UserName = us.UserName, Email = "", EmailConfirmed = true, }; var result = userMgr.CreateAsync(user, us.Password).Result; if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } Log.Debug($" کاربر { us.UserName} ساخته شد"); return(Ok()); } catch (Exception ee) { Log.Error(ee.Message); var rs = new ListOfCustomMessages() { new CustomMessage(ee) }; return(BadRequest(rs)); } }
public async Task <ActionResult> AddRole(string roleName) { try { roleName = roleName.TrimEvelNull(); if ((roleName == "") || (roleName != roleName.ReplaceAllNonAlphaNumericExceptAllowableListOFCharacters(allowableListOFCharacters: "_"))) { throw new Exception("این نام نقش مجاز نمی باشد"); } bool x = await roleManager.RoleExistsAsync(roleName); if (!x) { var role = new IdentityRole(roleName); var result = await roleManager.CreateAsync(role); if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } } else { var rs = new ListOfCustomMessages(msg: "این نقش قبلا وجود دارد", msgTypeEnum: MsgTypeEnum.Error); return(BadRequest(rs)); } return(Ok(new ListOfCustomMessages("نقش " + roleName + " ساخته شد", msgTypeEnum: MsgTypeEnum.Success))); } catch (Exception ee) { Log.Error(ee.Message); return(BadRequest(new ListOfCustomMessages(ee))); } }
public IActionResult CreateClaim(ClaimDto claim, string userName) { try { if (claim.ClaimType == "" || claim.ClaimValue == "") { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "هر دو متغیر نوع و مقدار یک کلیم باید غیر خالی باشند", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } var user = userMgr.FindByNameAsync(userName).Result; if (user == null) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کاربر وجود ندارد", MsgTypeEnum = MsgTypeEnum.Error } }; return(NotFound(rs)); } var cl = new System.Security.Claims.Claim(claim.ClaimType, claim.ClaimValue); if (db.VUsersClaims .Any(t => (t.UserName.ToLower() == userName.ToLower() && (t.ClaimType.ToLower() == claim.ClaimType.ToLower()) )) ) { var rs = new ListOfCustomMessages() { new CustomMessage { Message = "این کلیم برای این کاربر قبلا موجود می باشد ، ابتدا آن را پاک کنید", MsgTypeEnum = MsgTypeEnum.Error } }; return(BadRequest(rs)); } var result = userMgr.AddClaimAsync(user, cl).Result; if (!result.Succeeded) { throw new Exception(result.Errors.First().Description); } return(Ok()); } catch (Exception ee) { Log.Error(ee.Message); var rs = new ListOfCustomMessages() { new CustomMessage(ee) }; return(BadRequest(rs)); } }