Exemple #1
0
        public async Task <List <MpiSearchResultDto> > SearchMpiAsync(MpiSearchPackageDto mpiSearchPackage)
        {
            var result = new List <MpiSearchResultDto>();
            var client = new HttpClient();

            try
            {
                string url      = mpiSearchPackage.GetUrl($"{_endPoint.HasToEndsWith("/")}mpiSearch");
                var    data     = mpiSearchPackage.MpiSearch;
                var    response = await client.PostAsJsonAsync(url, data);

                if (response.IsSuccessStatusCode)
                {
                    result = await response.Content.ReadAsJsonAsync <List <MpiSearchResultDto> >();
                }
                else
                {
                    var error = await response.Content.ReadAsStringAsync();

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

            return(result);
        }
Exemple #2
0
        public async Task <IActionResult> SearchMpi([FromBody] MpiSearchPackageDto mpiSearchPackage)
        {
            if (!mpiSearchPackage.IsValid())
            {
                return(BadRequest());
            }
            try
            {
                var result = await _mpiSearchService.SearchMpiAsync(mpiSearchPackage);

                return(Ok(result));
            }
            catch (Exception e)
            {
                var msg = $"Error getting {nameof(MasterPatientIndex)} search results. {e.Message}";
                Log.Error(e, msg);
                return(StatusCode(500, msg));
            }
        }