Ejemplo n.º 1
0
        private string GenerateAvatarPath(RegisterFormData data)
        {
            string extension = Path.GetExtension(data.AvatarImg.FileName);
            string filename  = $"avatar_{data.Username.ToLower()}";

            return(Path.Combine(AvatarsDirectory, filename + extension));
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
 public IActionResult Index(RegisterFormData data)
 {
     if (!ModelState.IsValid)
     {
         return(View(data));
     }
     //TODO[AR]: Logic
     return(RedirectToPage("Taskboard"));
 }
Ejemplo n.º 4
0
        /// <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('\\', '/'));
        }
Ejemplo n.º 5
0
        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());
            }
        }
Ejemplo n.º 6
0
        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);
        }