示例#1
0
        public async Task <IActionResult> ChangePin([FromBody] ChangePinDto pinDto)
        {
            if (pinDto.NewPin < 1000 || pinDto.NewPin > 9999)
            {
                return(BadRequest("Invalid pin"));
            }

            var userIdHolder = await _userService.GetUserId(User.Identity.Name);

            if (userIdHolder.Status == DataHolderStatus.Unauthorized)
            {
                return(Unauthorized());
            }

            var cardHolder = await _creditCardService.ChangePinAsync(pinDto, new Guid(userIdHolder.Data));

            if (cardHolder.Status == DataHolderStatus.Failure)
            {
                return(BadRequest(cardHolder.Message));
            }

            return(Ok(_mapper.Map <CreditCard, CreditCardDto>(cardHolder.Data)));
        }