public IActionResult Register(int Category, string ShopName, string fullname, string Mobile, string UserName, string Password, string RePassword) { RequestRegisterUserDto requestRegisterUser = new RequestRegisterUserDto() { Email = UserName + "@msn.com", FullName = fullname, Password = Password, ConfirmPassword = RePassword, UserName = UserName, Role = "Seller" }; var resultRegister = _registerUserService.Execute(requestRegisterUser); if (resultRegister.Data.IdentityResult.Succeeded == true) { RequestAddNewSellerDto request = new RequestAddNewSellerDto() { UserName = UserName, CategoryId = Category, Mobile = Mobile, ShopName = ShopName, UserId = resultRegister.Data.UserId, }; return(Json(_sellerService.Add(request))); } else { return(Json(resultRegister.Message)); } }
public IActionResult Signup(RequestRegisterUserDto request) { #region validate if (string.IsNullOrWhiteSpace(request.FullName) || string.IsNullOrWhiteSpace(request.Email) || string.IsNullOrWhiteSpace(request.Password) || string.IsNullOrWhiteSpace(request.ConfirmPassword)) { return(Json(new ResultDto { IsSuccess = false, Message = "لطفا تمامی موارد رو ارسال نمایید" })); } if (User.Identity.IsAuthenticated == true) { return(Json(new ResultDto { IsSuccess = false, Message = "شما به حساب کاربری خود وارد شده اید! و در حال حاضر نمیتوانید ثبت نام مجدد نمایید" })); } if (request.Password != request.ConfirmPassword) { return(Json(new ResultDto { IsSuccess = false, Message = "رمز عبور و تکرار آن برابر نیست" })); } if (request.Password.Length < 8) { return(Json(new ResultDto { IsSuccess = false, Message = "رمز عبور باید حداقل 8 کاراکتر باشد" })); } string emailRegex = @"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[A-Z0-9.-]+\.[A-Z]{2,}$"; var match = Regex.Match(request.Email, emailRegex, RegexOptions.IgnoreCase); if (!match.Success) { return(Json(new ResultDto { IsSuccess = true, Message = "ایمیل خودرا به درستی وارد نمایید" })); } #endregion var signupResult = _registerUserService.Execute(new RequestRegisterUserDto { UserName = request.Email, Email = request.Email, FullName = request.FullName, Password = request.Password, ConfirmPassword = request.ConfirmPassword, Role = "Customer", }); if (signupResult.Data.IdentityResult.Succeeded) { string CallBackUrl = Url.Action("ConfirmEmail", "Authentication", new { UserId = signupResult.Data.UserId, token = signupResult.Data.token }, protocol: Request.Scheme); string Body = $"لطفا برای فعالسازی کاربری خود بر روی لینک زیر کلیک کنید <br/> <a href={CallBackUrl}>Link</a>"; _emailService.Execute(request.Email, Body, "فعال سازی نام کاربری"); //return RedirectToAction("DisplayEmail"); return(Json(new ResultDto() { IsSuccess = true, Message = $"!ثبت نام با موفقیت انجام شد<br/>لینک فعالسازی به ایمیل شما ارسال شد" })); } //string message = ""; //foreach (var item in signupResult.Data.IdentityResult.Errors.ToList()) //{ // message += item.Description + Environment.NewLine; //} //return View( new ResultDto() //{ // Message = message, //}); if (signupResult.Data.IdentityResult.Succeeded) { var claims = new List <Claim>() { new Claim(ClaimTypes.NameIdentifier, signupResult.Data.UserId), new Claim(ClaimTypes.Email, request.Email), new Claim(ClaimTypes.Name, request.FullName), new Claim(ClaimTypes.Role, "Customer"), }; var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(identity); var properties = new AuthenticationProperties() { IsPersistent = true }; HttpContext.SignInAsync(principal, properties); } return(Json(signupResult)); }