private string GenerateAvatarPath(RegisterFormData data) { string extension = Path.GetExtension(data.AvatarImg.FileName); string filename = $"avatar_{data.Username.ToLower()}"; return(Path.Combine(AvatarsDirectory, filename + extension)); }
public async Task <Resident> RegisterNewUser(RegisterFormData formData) { var role = UserRole.USER; var userName = _loginPasswordGenerator.GenerateLogin(formData.FirstName, formData.LastName); var password = _loginPasswordGenerator.GeneratePassword(); var newResident = _mapper.Map <Resident>(formData); newResident.RegisterDate = DateTime.Now; newResident.UserName = userName; try { var result = await _userManager.CreateAsync(newResident, password); await _userManager.AddToRoleAsync(newResident, role); await _emailSender.SendLoginAndPassword(userName, password, formData.Email); return(newResident); } catch (Exception) { throw; } }
public IActionResult Index(RegisterFormData data) { if (!ModelState.IsValid) { return(View(data)); } //TODO[AR]: Logic return(RedirectToPage("Taskboard")); }
/// <returns>Path to uploaded avatar</returns> private async Task <string> TryGetAvatar(RegisterFormData data) { if (data.AvatarImg == null) { return(null); } string avatarPath = GenerateAvatarPath(data); using (FileStream avatarFs = System.IO.File.Open(avatarPath, FileMode.Create)) { await data.AvatarImg.CopyToAsync(avatarFs); } return(Path.Combine("\\", avatarPath.Replace(_env.WebRootPath, "")).Replace('\\', '/')); }
public async Task <IActionResult> RegisterNewUser(RegisterFormData formData) { if (!ModelState.IsValid) { return(BadRequest()); } try { var createdResident = await _context.RegisterNewUser(formData); return(Ok(createdResident)); } catch (Exception) { return(BadRequest()); } }
public async Task <IActionResult> Register(RegisterFormData data) { ViewResult viewResult; if (ModelState.IsValid) { UserProfile userProfile = await _appDbContext.Users.FirstOrDefaultAsync(u => u.Username == data.Username); if (userProfile == null) { userProfile = new UserProfile { Username = data.Username, PwdHash = data.Password, AvatarUrl = await TryGetAvatar(data) }; try { await _appDbContext.Users.AddAsync(userProfile); await _appDbContext.SaveChangesAsync(); return(View("RegisterSuccess", userProfile)); } catch (Exception) { viewResult = View("RegisterError"); viewResult.StatusCode = (int)HttpStatusCode.InternalServerError; return(viewResult); } } else { ModelState.AddModelError("", $"Користувач з іменем '{data.Username}' вже зареєстрований!"); } } viewResult = View(data); return(viewResult); }