Exemple #1
0
        public async Task <ITKConfirmationViewModel> ItkResponseBuilder(OutcomeViewModel model)
        {
            var itkRequestData = CreateItkDispatchRequest(model);

            _auditLogger.LogItkRequest(model, itkRequestData);
            var response = await SendItkMessage(itkRequestData);

            _auditLogger.LogItkResponse(model, response);
            var itkResponseModel = _mappingEngine.Mapper.Map <OutcomeViewModel, ITKConfirmationViewModel>(model);

            itkResponseModel.ItkDuplicate   = IsDuplicateResponse(response);
            itkResponseModel.ItkSendSuccess = response.IsSuccessful;
            if (response.IsSuccessful || IsDuplicateResponse(response))
            {
                itkResponseModel.PatientReference = itkRequestData.CaseDetails.ExternalReference;
            }

            else
            {
                itkResponseModel.ItkSendSuccess = false;
                Log4Net.Error("Error sending ITK message : Status Code -" + response.StatusCode +
                              " Content -" + itkRequestData.CaseDetails.ExternalReference);
            }
            return(itkResponseModel);
        }
Exemple #2
0
        public async Task <OutcomeViewModel> ItkResponseBuilder(OutcomeViewModel model)
        {
            var itkRequestData = CreateItkDispatchRequest(model);
            await _auditLogger.LogItkRequest(model, itkRequestData);

            var response = await SendItkMessage(itkRequestData);

            await _auditLogger.LogItkResponse(model, response);

            model.ItkDuplicate = response.StatusCode == System.Net.HttpStatusCode.Conflict;
            if (response.IsSuccessStatusCode)
            {
                model.ItkSendSuccess = true;
                var journey = JsonConvert.DeserializeObject <Journey>(model.JourneyJson);
            }
            else
            {
                model.ItkSendSuccess = false;
                Log4Net.Error("Error sending ITK message : Status Code -" + response.StatusCode.ToString() +
                              " Content -" + response.Content.ReadAsStringAsync());
            }
            return(model);
        }