Example #1
0
        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"));
        }
Example #2
0
        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());
            }
        }
Example #3
0
        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));
        }
Example #4
0
        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());
        }