public List <PatientAllergy> UpdatePatientAllergies(PostPatientAllergiesRequest request) { List <PatientAllergy> patientAllergies = null; try { // Update Allergy collection for any newly initialized allergies & then register in search index. if (request.PatientAllergies != null && request.PatientAllergies.Count > 0) { request.PatientAllergies.ForEach(p => { if (p.IsNewAllergy) { PostAllergyRequest req = new PostAllergyRequest { Allergy = new DTO.Allergy { Id = p.AllergyId, TypeIds = p.AllergyTypeIds, Name = p.AllergyName }, ContractNumber = request.ContractNumber, UserId = request.UserId, Version = request.Version }; AllergyData allergyData = EndpointUtil.UpdateAllergy(req); DTO.Allergy newAllergy = Mapper.Map <DTO.Allergy>(allergyData); // Register newly initialized allergies in search index. SearchManager.RegisterAllergyDocumentInSearchIndex(newAllergy, req.ContractNumber, request); } }); } List <PatientAllergyData> data = EndpointUtil.UpdatePatientAllergies(request); if (data != null && data.Count > 0) { patientAllergies = new List <PatientAllergy>(); data.ForEach(a => patientAllergies.Add(Mapper.Map <PatientAllergy>(a))); } return(patientAllergies); } catch (Exception ex) { throw ex; } }
public AllergyData UpdateAllergy(PostAllergyRequest request) { try { AllergyData result = null; IRestClient client = new JsonServiceClient(); //[Route("/{Context}/{Version}/{ContractNumber}/Allergy/Update", "PUT")] var url = Common.Helper.BuildURL(string.Format("{0}/{1}/{2}/{3}/Allergy/Update", DDAllergyUrl, "NG", request.Version, request.ContractNumber), request.UserId); if (request.Allergy != null) { AllergyData data = new AllergyData(); data = Mapper.Map <AllergyData>(request.Allergy); PutAllergyDataResponse dataDomainResponse = client.Put <PutAllergyDataResponse>(url, new PutAllergyDataRequest { Context = "NG", ContractNumber = request.ContractNumber, UserId = request.UserId, Version = request.Version, AllergyData = data } as object); if (dataDomainResponse != null) { result = dataDomainResponse.AllergyData; } } return(result); } catch (WebServiceException ex) { throw new WebServiceException("AD:UpdateAllergy()::" + ex.Message, ex.InnerException); } }