public async Task <IActionResult> Complete([FromBody] CompleteOrderRequest request) { return(await HandleAsync(async() => { var client = getClientFactory.Create <CompleteOrderRequest, CompleteOrderResponse>(); return await client.Request(request); })); }
public bool CompleteOrder(int approved, string errorcode, string errormessage, CheckoutRequest request, GatewayOrderDetails gatewayOrderDetails) { var success = false; var randomKey = Guid.NewGuid().ToString("N"); var privateKey = ConfigurationManager.AppSettings["AppTestSecretKey"]; var transactionId = gatewayOrderDetails.reference_id; var completeOrderRequest = new CompleteOrderRequest() { orderid = request.orderid, transactionid = transactionId, invoice = request.invoice, errormessage = errormessage, errorcode = errorcode, amount = request.amounttotal, approved = approved, randomkey = randomKey, signature = Md5Helper.GetMd5Hash(randomKey + privateKey + request.orderid + request.invoice + transactionId) }; try { var response = _webApiClient.HTTPPostRequest(request.notificationurl, "", completeOrderRequest, null); CompleteOrderResponse completeOrderResponse = null; if (response != null) { if (response.StatusCode == HttpStatusCode.OK) { using (var streamReader = new StreamReader(response.GetResponseStream())) { var responseText = streamReader.ReadToEnd(); completeOrderResponse = JsonConvert.DeserializeObject <CompleteOrderResponse>(responseText); } } } if (completeOrderResponse != null) { if (completeOrderResponse.processed == 1) { _repository.UpdateCheckoutRequestStatus(request.id, Status.Completed); success = true; } else { _repository.UpdateCheckoutRequestStatus(request.id, Status.Failed); } } } catch { _repository.UpdateCheckoutRequestStatus(request.id, Status.Failed); } return(success); }
public async Task <CompleteOrderResponse> CompleteOrder(CompleteOrderRequest request) { Domain.Order order = await repo.GetOrder(request.OrderId); order.Confirm(); order = await repo.SaveAsync(order); return(new CompleteOrderResponse(true, ResponseAction.Updated)); }
public async Task OnGet(int orderId) { CompleteOrderRequest request = new CompleteOrderRequest { OrderId = orderId }; CompleteOrderResponse response = await mediator.Send(request); ProductName = response.ProductName; }
public async Task <bool> CompleteOrder(Guid orderId) { var request = new CompleteOrderRequest(); request.OrderId = orderId; var response = await client.Post <CompleteOrderRequest, CompleteOrderResponse>(routingConfig.URL, routingConfig.CompleteOrder, request, HeaderAccept.Json); return(response.IsSuccess); }
async Task <Result <OrderCompleted> > Run(SetupData data) { var order = new Order { Id = 1, ItemId = 1, LendingUnitId = 2, RequestingMemberId = 1, RequestingUnitId = 3, Status = data.StartingStatus }; var unitId = data.MemberSide == OrderSide.Lending ? order.LendingUnitId : order.RequestingUnitId; var member = new Member(2, unitId, data.MemberPermissions); var item = new Item { Id = 1, Price = 100 }; var orderingService = new Mock <IOrderingService>(); orderingService.Setup(a => a.GetOrder(1)).ReturnsAsync(order); orderingService.Setup(a => a.GetMemberById(2)).ReturnsAsync(member); orderingService.Setup(a => a.UpdateOrder(It.IsAny <Order>())) .ReturnsAsync(new BaseGatewayResponse(true)); orderingService.Setup(a => a.Update(It.IsAny <UnitItem>())) .ReturnsAsync(new BaseGatewayResponse(true)); orderingService.Setup(a => a.GetItem(1)).ReturnsAsync(item); orderingService.Setup(a => a.GetUnitItem(It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(new UnitItem { UnitId = order.LendingUnitId, Amount = data.UnitItemAmount, ItemId = order.ItemId }); orderingService.Setup(a => a.TransterMoney(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(new BaseGatewayResponse(true)); var handler = new CompleteOrderHandler(orderingService.Object); var request = new CompleteOrderRequest(1, 2); return(await handler.Handle(request)); }
public async Task <IActionResult> Complete([FromBody] CompleteOrderRequest request) { return(await HandleAsync(async() => await service.CompleteOrder(request))); }