示例#1
0
        public void Init()
        {
            var config = new ConfigurationBuilder()
                         .AddJsonFile("appsettings.json")
                         .Build();
            var connectionString = config["ConnectionStrings:DwapiConnection"];


            _serviceProvider = new ServiceCollection()
                               .AddDbContext <UploadContext>(o => o.UseSqlServer(connectionString))
                               .AddTransient <IHtsSendService, HtsSendService>()
                               .AddTransient <IHtsPackager, HtsPackager>()
                               .AddTransient <IEmrMetricReader, EmrMetricReader>()
                               .AddTransient <IHtsExtractReader, HtsExtractReader>()

                               .BuildServiceProvider();

            /*
             *  22704|TOGONYE DISPENSARY|KIRINYAGA
             *  22696|HERTLANDS MEDICAL CENTRE|NAROK
             */

            _bag       = TestDataFactory.ManifestMessageBag(2, 10001, 10002);
            _clientBag = TestDataFactory.HtsMessageBag(5, 10001, 10002);
        }
示例#2
0
        public void Init()
        {
            _serviceProvider = new ServiceCollection()
                               .AddTransient <ICbsSendService, CbsSendService>()
                               .BuildServiceProvider();

            /*
             *  22704|TOGONYE DISPENSARY|KIRINYAGA
             *  22696|HERTLANDS MEDICAL CENTRE|NAROK
             */

            _bag    = TestDataFactory.ManifestMessageBag(2, 22704, 22696);
            _mpiBag = TestDataFactory.MpiMessageBag(5, 22704, 22696);
        }
示例#3
0
        public async Task <List <SendManifestResponse> > SendManifestAsync(SendManifestPackageDTO sendTo,
                                                                           ManifestMessageBag manifestMessage, string version)
        {
            var responses = new List <SendManifestResponse>();
            await _mediator.Publish(new HandshakeStart("MNCHSendStart", version, manifestMessage.Session));

            var client = Client ?? new HttpClient();

            foreach (var message in manifestMessage.Messages)
            {
                try
                {
                    var msg      = JsonConvert.SerializeObject(message);
                    var response =
                        await client.PostAsJsonAsync(sendTo.GetUrl($"{_endPoint.HasToEndsWith("/")}manifest"), message);

                    if (response.IsSuccessStatusCode)
                    {
                        var content = await response.Content.ReadAsJsonAsync <SendManifestResponse>();

                        responses.Add(content);
                    }
                    else
                    {
                        var error = await response.Content.ReadAsStringAsync();

                        throw new Exception(error);
                    }
                }
                catch (Exception e)
                {
                    Log.Error(e, $"Send Manifest Error");
                    throw;
                }
            }

            return(responses);
        }
示例#4
0
 public Task <List <SendManifestResponse> > SendManifestAsync(SendManifestPackageDTO sendTo, string version)
 {
     return(SendManifestAsync(sendTo, ManifestMessageBag.Create(_packager.GenerateWithMetrics(sendTo.GetEmrDto()).ToList()), version));
 }
示例#5
0
 public Task <List <SendManifestResponse> > SendManifestAsync(SendManifestPackageDTO sendTo)
 {
     return(SendManifestAsync(sendTo, ManifestMessageBag.Create(_packager.GenerateWithMetrics().ToList())));
 }