public async Task <List <SendDhwManifestResponse> > SendManifestAsync(SendManifestPackageDTO sendTo, DwhManifestMessageBag messageBag) { var responses = new List <SendDhwManifestResponse>(); HttpClientHandler handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; var client = Client ?? new HttpClient(handler); client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip")); client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("deflate")); foreach (var message in messageBag.Messages) { try { var response = await client.PostAsJsonAsync(sendTo.GetUrl($"{_endPoint.HasToEndsWith("/")}spot"), message.Manifest); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); responses.Add(new SendDhwManifestResponse(content)); } else { var error = await response.Content.ReadAsStringAsync(); throw new Exception(error); } } catch (Exception e) { Log.Error(e, $"Send Manifest Error"); throw; } } return(responses); }
public void Init() { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var connectionString = config["ConnectionStrings:DwapiConnection"]; _serviceProvider = new ServiceCollection() .AddDbContext <Dwapi.SettingsManagement.Infrastructure.SettingsContext>(o => o.UseSqlServer(connectionString)) .AddDbContext <UploadContext>(o => o.UseSqlServer(connectionString)) .AddTransient <IDwhExtractReader, DwhExtractReader>() .AddTransient <IDwhPackager, DwhPackager>() .AddTransient <IDwhSendService, DwhSendService>() .BuildServiceProvider(); /* * 22704|TOGONYE DISPENSARY|KIRINYAGA * 22696|HERTLANDS MEDICAL CENTRE|NAROK */ _bag = TestDataFactory.DwhManifestMessageBag(2, 10001); _artBag = TestDataFactory.ArtMessageBag(5, 10001); }
public Task <List <SendDhwManifestResponse> > SendManifestAsync(SendManifestPackageDTO sendTo) { return(SendManifestAsync(sendTo, DwhManifestMessageBag.Create(_packager.GenerateWithMetrics().ToList()))); }
public async Task <List <SendDhwManifestResponse> > SendManifestAsync(SendManifestPackageDTO sendTo, DwhManifestMessageBag messageBag) { var responses = new List <SendDhwManifestResponse>(); var client = new HttpClient(); foreach (var message in messageBag.Messages) { try { var msg = JsonConvert.SerializeObject(message); var response = await client.PostAsJsonAsync(sendTo.GetUrl($"{_endPoint.HasToEndsWith("/")}spot"), message.Manifest); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); responses.Add(new SendDhwManifestResponse(content)); } else { var error = await response.Content.ReadAsStringAsync(); throw new Exception(error); } } catch (Exception e) { Log.Error(e, $"Send Manifest Error"); throw; } } return(responses); }
public Task <List <SendDhwManifestResponse> > SendDiffManifestAsync(SendManifestPackageDTO sendTo, string version) { return(SendManifestAsync(sendTo, DwhManifestMessageBag.Create(_packager.GenerateDiffWithMetrics(sendTo.GetEmrDto()).ToList()), version)); }