Example #1
0
        public Result <ChangePreferredCoinRequest> ValidateChangeRequest(ChangePreferredCoinRequest request)
        {
            if (string.IsNullOrWhiteSpace(request?.Coin))
            {
                return(Result <ChangePreferredCoinRequest> .Failed(FaultCode.CoinNotProvided));
            }

            if (!acceptedCoins.Contains(request.Coin.Trim().ToUpper()))
            {
                return(Result <ChangePreferredCoinRequest> .Failed(FaultCode.CoinUnknownOrNotAccepted));
            }

            return(Result <ChangePreferredCoinRequest> .Success(request));
        }
 public IActionResult Post([FromBody] ChangePreferredCoinRequest request) =>
 PreferredCoinService.ValidateChangeRequest(request)
 .OnSuccess(request => PreferredCoinService.SavePreferredCoin(request))
 .OnSuccess(request => PreferredCoinService.MapToChangePreferredCoinResponse(request))
 .Handle(this);
Example #3
0
 public Result <ChangePreferredCoinResponse> MapToChangePreferredCoinResponse(ChangePreferredCoinRequest request) =>
 Result <ChangePreferredCoinResponse> .Success(new ChangePreferredCoinResponse
 {
     ChangedTo = request.Coin.Trim().ToUpper()
 });
Example #4
0
 public Result <ChangePreferredCoinRequest> SavePreferredCoin(ChangePreferredCoinRequest request)
 {
     Session.SetString(PreferredCoinSessionVariable, request.Coin);
     return(Result <ChangePreferredCoinRequest> .Success(request));
 }