Пример #1
0
        public async Task <OperationResult <AddPasswordCommandResponse> > Handle(AddPasswordCommandRequest request, CancellationToken cancellationToken)
        {
            var salt     = PasswordHelper.GeneratePasswordSalt();
            var response = new AddPasswordCommandResponse(request.MessageId);
            OperationResult <AddPasswordCommandResponse> result;

            var userAccount = await _dbContext.UserAccount.SingleOrDefaultAsync(u => u.Email == request.TransferObject.Email || u.Password == request.TransferObject.Password, cancellationToken : cancellationToken);

            if (userAccount.NotNull())
            {
                userAccount.Email    = request.TransferObject.Email;
                userAccount.Password = PasswordHelper.GenerateSaltedHash(request.TransferObject.Password, salt);
                userAccount.Salt     = salt;

                _dbContext.UserAccount.Update(userAccount);
                await _dbContext.SaveChangesAsync();

                response.UserId = userAccount.UserAccountId;
                result          = new OperationResult <AddPasswordCommandResponse>(EnumOperationResult.Updated, null, response);
            }
            else
            {
                result = new OperationResult <AddPasswordCommandResponse>(EnumOperationResult.None, null, response);
            }

            return(result);
        }
Пример #2
0
        public async Task <IActionResult> AddPassword(AddPasswordRequest request)
        {
            var model = new AddPasswordCommandRequest
            {
                TransferObject = request
            };
            var result = await Mediator.Send(model);

            return(HandleResponse(result, r => r));
        }