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);
public Result <ChangePreferredCoinResponse> MapToChangePreferredCoinResponse(ChangePreferredCoinRequest request) => Result <ChangePreferredCoinResponse> .Success(new ChangePreferredCoinResponse { ChangedTo = request.Coin.Trim().ToUpper() });
public Result <ChangePreferredCoinRequest> SavePreferredCoin(ChangePreferredCoinRequest request) { Session.SetString(PreferredCoinSessionVariable, request.Coin); return(Result <ChangePreferredCoinRequest> .Success(request)); }