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); }
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)); } }