Exemplo n.º 1
0
        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; }
        }
Exemplo n.º 2
0
        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);
            }
        }