public static async Task <TResult> CampaignGroupWithVoice(string apiUrl, DataDto data) { TResult result = null; using var httpClient = new HttpClient(); using var request = new HttpRequestMessage( new HttpMethod("POST"), $"{apiUrl}") { Content = new StringContent(HelperExtention.ToDynamicJson(data)) }; request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse($"{Constant.GatewayMediaTypeJson}"); var response = await httpClient.SendAsync(request); response.EnsureSuccessStatusCode(); await response.Content.ReadAsStringAsync().ContinueWith(x => { if (x.IsFaulted) { if (x.Exception != null) { throw x.Exception; } } result = JsonConvert.DeserializeObject <TResult>(x.Result); }); return(result); }
//========================================= //=========== Helper Methods ============ //========================================= private static async Task <EventMessage> CreateStream(IServiceScopeFactory scopeFactory, DataDto data) { using var scope = scopeFactory.CreateScope(); var serviceProvider = scope.ServiceProvider; var provider = (IDataProvider)serviceProvider.GetService(typeof(IDataProvider)); var result = await provider.CreateDataAsync(new EventMessage { Message = HelperExtention.ToDynamicJson(data), ResultMessage = "", ResultStatus = "", SentStatus = 0 }); provider.Commit(); return(result); }