public async Task <IActionResult> GetVoucher([FromQuery] String voucherCode, [FromQuery] String applicationVersion, CancellationToken cancellationToken) { if (ClaimsHelper.IsPasswordToken(this.User) == false) { return(this.Forbid()); } // Do the software version check try { VersionCheckRequest versionCheckRequest = VersionCheckRequest.Create(applicationVersion); await this.Mediator.Send(versionCheckRequest, cancellationToken); } catch (VersionIncompatibleException vex) { Logger.LogError(vex); return(this.StatusCode(505)); } Guid estateId = Guid.Parse(ClaimsHelper.GetUserClaim(this.User, "estateId").Value); Guid contractId = Guid.Parse(ClaimsHelper.GetUserClaim(this.User, "contractId").Value); // Now do the GET GetVoucherRequest request = GetVoucherRequest.Create(estateId, contractId, voucherCode); GetVoucherResponse response = await this.Mediator.Send(request, cancellationToken); return(this.Ok(this.ModelFactory.ConvertFrom(response))); }
/// <summary> /// Gets the voucher. /// </summary> /// <param name="accessToken">The access token.</param> /// <param name="estateId">The estate identifier.</param> /// <param name="voucherCode">The voucher code.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> public async Task <GetVoucherResponse> GetVoucher(String accessToken, Guid estateId, String voucherCode, CancellationToken cancellationToken) { GetVoucherResponse response = null; String requestUri = $"{this.BaseAddress}/api/vouchers?estateId={estateId}&voucherCode={voucherCode}"; try { // Add the access token to the client headers this.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); // Make the Http Call here HttpResponseMessage httpResponse = await this.HttpClient.GetAsync(requestUri, cancellationToken); // Process the response String content = await this.HandleResponse(httpResponse, cancellationToken); // call was successful so now deserialise the body to the response object response = JsonConvert.DeserializeObject <GetVoucherResponse>(content); } catch (Exception ex) { // An exception has occurred, add some additional information to the message Exception exception = new Exception("Error getting voucher.", ex); throw exception; } return(response); }
/// <summary> /// Converts from. /// </summary> /// <param name="voucherModel">The voucher model.</param> /// <returns></returns> public GetVoucherResponse ConvertFrom(Voucher voucherModel) { if (voucherModel == null) { return(null); } GetVoucherResponse response = new GetVoucherResponse { Value = voucherModel.Value, Balance = voucherModel.Balance, ExpiryDate = voucherModel.ExpiryDate, VoucherCode = voucherModel.VoucherCode, TransactionId = voucherModel.TransactionId, IssuedDateTime = voucherModel.IssuedDateTime, IsIssued = voucherModel.IsIssued, GeneratedDateTime = voucherModel.GeneratedDateTime, IsGenerated = voucherModel.IsGenerated, IsRedeemed = voucherModel.IsRedeemed, RedeemedDateTime = voucherModel.RedeemedDateTime, VoucherId = voucherModel.VoucherId }; return(response); }
public void ModelFactory_ConvertFrom_VoucherModel_NullInput_IsConverted() { ModelFactory modelFactory = new ModelFactory(); Voucher model = null; GetVoucherResponse dto = modelFactory.ConvertFrom(model); dto.ShouldBeNull(); }
public void ModelFactory_ConvertFrom_GetVoucherResponse_NullValue_IsConverted() { ModelFactory modelFactory = new ModelFactory(); GetVoucherResponse model = null; GetVoucherResponseMessage dto = modelFactory.ConvertFrom(model); dto.ShouldBeNull(); }
public GetVoucherResponse GetVoucher(GetVoucherRequest getvoucherRequest) { GetVoucherResponse getVoucherResponse = null; if (getvoucherRequest.Id != null) { var voucher = _eVoucherRepository.FindeVoucherId(getvoucherRequest.Id); var eVoucherDto = _messageMapper.MapToeVoucherDto(voucher); getVoucherResponse = new GetVoucherResponse { eVoucher = eVoucherDto }; } return(getVoucherResponse); }
public void ModelFactory_ConvertFrom_GetVoucherResponse_IsConverted() { ModelFactory modelFactory = new ModelFactory(); GetVoucherResponse model = TestData.GetVoucherResponseModel; GetVoucherResponseMessage dto = modelFactory.ConvertFrom(model); dto.ShouldNotBeNull(); dto.ContractId.ShouldBe(model.ContractId); dto.VoucherCode.ShouldBe(model.VoucherCode); dto.EstateId.ShouldBe(model.EstateId); dto.Value.ShouldBe(model.Value); dto.ExpiryDate.ShouldBe(model.ExpiryDate); dto.VoucherId.ShouldBe(model.VoucherId); dto.ResponseMessage.ShouldBe(model.ResponseMessage); dto.ResponseCode.ShouldBe(model.ResponseCode); dto.Balance.ShouldBe(model.Balance); }
/// <summary> /// Converts from. /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public GetVoucherResponseMessage ConvertFrom(GetVoucherResponse model) { if (model == null) { return(null); } GetVoucherResponseMessage responseMessage = new GetVoucherResponseMessage { ContractId = model.ContractId, EstateId = model.EstateId, VoucherCode = model.VoucherCode, VoucherId = model.VoucherId, ExpiryDate = model.ExpiryDate, Value = model.Value, ResponseMessage = model.ResponseMessage, ResponseCode = model.ResponseCode, Balance = model.Balance }; return(responseMessage); }
public void ModelFactory_ConvertFrom_VoucherModel_IsConverted() { ModelFactory modelFactory = new ModelFactory(); Voucher model = TestData.GetVoucherAggregateWithRecipientMobile().GetVoucher(); GetVoucherResponse dto = modelFactory.ConvertFrom(model); dto.ShouldNotBeNull(); dto.TransactionId.ShouldBe(model.TransactionId); dto.IssuedDateTime.ShouldBe(model.IssuedDateTime); dto.Balance.ShouldBe(model.Balance); dto.IssuedDateTime.ShouldBe(model.IssuedDateTime); dto.ExpiryDate.ShouldBe(model.ExpiryDate); dto.GeneratedDateTime.ShouldBe(model.GeneratedDateTime); dto.IsGenerated.ShouldBe(model.IsGenerated); dto.IsIssued.ShouldBe(model.IsIssued); dto.IsRedeemed.ShouldBe(model.IsRedeemed); dto.RedeemedDateTime.ShouldBe(model.RedeemedDateTime); dto.Value.ShouldBe(model.Value); dto.VoucherCode.ShouldBe(model.VoucherCode); dto.Balance.ShouldBe(model.Balance); }