public async Task <string> ServeRequest(RequestStatusOrder requestStatus, string UrlAddress) { using (HttpClient client = new HttpClient() { BaseAddress = new Uri($" http://attest.turkmen-tranzit.com") }) { var answer = await client.PostAsJsonAsync($"{client.BaseAddress}{UrlAddress}", requestStatus); var jsonAnswer = await answer.Content.ReadAsStringAsync(); return(jsonAnswer); } }
public async Task ChekStatusAsync(Order order) { string urlChecStatus = "payment/rest/getOrderStatus.do"; RequestStatusOrder requestStatus = new RequestStatusOrder(order); StatusOrder status = JsonSerializer.Deserialize <StatusOrder>(await ServeRequest(requestStatus, urlChecStatus)); order.OrderStatus = status.orderStatus; switch (order.OrderStatus) { case (int?)EnumOrderStatus.RegisteredButNotPaid: { Thread.Sleep(60000); await ChekStatusAsync(order); break; } case (int?)EnumOrderStatus.SuccessfullyPaid: { operationDB.UpDate(order); break; } case (int?)EnumOrderStatus.AuthorizationCanceled: { operationDB.Delete(order); break; } case (int?)EnumOrderStatus.OrderIsBeingProcessed: { Thread.Sleep(10000); await ChekStatusAsync(order); break; } } }