public async Task <IActionResult> Index(UserUploadModel model) { if (!ModelState.IsValid) { return(View(model)); } ApplicationUser appUser = await _userManager.GetUserAsync(HttpContext.User); User user = _repository.GetUser(Guid.Parse(appUser.Id)); user.Name = model.Name; user.Surname = model.Surname; if (model.Picture != null) { byte[] imageBytes; using (var stream = new MemoryStream()) { await model.Picture.CopyToAsync(stream); imageBytes = stream.ToArray(); } var uploader = new AzureStorageUtility(_configuration["storageAccountName"], _configuration["storageAccountKey"]); user.Picture = await uploader.Upload(_configuration["storageContainerName"], imageBytes); } _repository.UpdateUser(user); return(Redirect("/group")); }
public async Task <IActionResult> CreateUser(UserUploadModel user) { try { var newUser = MapUploadModelToEntity <Domain.Entities.User>(user); await UserModel.CreateNewUserAsync( newUser, ExtractRequesterAddress(), RepositoryManager, _smtpSettings, _emailSettings ); return(Ok()); } catch (EmailAlreadyRegisteredException err) { return(BadRequest(new EmailAlreadyRegisteredException(err.ErrorMessage, err.ErrorData))); } catch (UsernameAlreadyRegisteredException err) { return(BadRequest(new UsernameAlreadyRegisteredException(err.ErrorMessage, err.ErrorData))); } catch (Exception err) { LogException(err); return(Problem()); } }
public async Task <IActionResult> Index() { ApplicationUser appUser = await _userManager.GetUserAsync(HttpContext.User); User user = _repository.GetUser(Guid.Parse(appUser.Id)); UserUploadModel model = new UserUploadModel() { Name = user.Name, Surname = user.Surname, PictureURI = user.Picture }; return(View(model)); }
public async Task <IActionResult> Post(UserUploadModel user) { var context = new DropTopContext(); var existingEmail = await context.User.Where(u => u.Email == user.Email).AnyAsync(); if (existingEmail) { return(BadRequest("A User with this email address already exists")); } MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider(); Byte[] hashedPassword; UTF8Encoding encoder = new UTF8Encoding(); hashedPassword = md5Hasher.ComputeHash(encoder.GetBytes(user.Password)); var newUser = new User() { Id = Guid.NewGuid(), FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, Password = hashedPassword, Verified = true, Temporary = false, CreatedOn = DateTime.Now }; await context.User.AddAsync(newUser); await context.SaveChangesAsync(); return(Ok()); }