Exemplo n.º 1
0
        /// <summary>
        ///  Handle the updating of terminology for an existing condition
        /// </summary>
        /// <param name="conditionForUpdate">The payload containing the list of lab tests</param>
        /// <param name="conditionFromRepo">The condition entity that is being updated</param>
        /// <returns></returns>
        private void AddOrUpdateConditionMeddras(ConditionForUpdateDto conditionForUpdate, Condition conditionFromRepo)
        {
            // Determine what has been removed
            ArrayList deleteCollection = new ArrayList();

            foreach (var conditionMeddra in conditionFromRepo.ConditionMedDras)
            {
                if (!conditionForUpdate.ConditionMedDras.Contains(conditionMeddra.TerminologyMedDra.Id))
                {
                    deleteCollection.Add(conditionMeddra);
                }
            }
            // Process deletes
            foreach (var conditionMeddra in deleteCollection)
            {
                _conditionMeddraRepository.Delete(conditionMeddra);
            }

            // Determine what needs to be added
            foreach (var meddraId in conditionForUpdate.ConditionMedDras)
            {
                if (!conditionFromRepo.ConditionMedDras.Any(c => c.TerminologyMedDra.Id == meddraId))
                {
                    var newConditionMedra = new ConditionMedDra()
                    {
                        Condition = conditionFromRepo, TerminologyMedDra = _terminologyMeddraRepository.Get(f => f.Id == meddraId)
                    };
                    _conditionMeddraRepository.Save(newConditionMedra);
                }
            }
        }
Exemplo n.º 2
0
        protected void btnAddMedDra_Click(object sender, EventArgs e)
        {
            string err = "<ul>";

            if (lstTermResult.SelectedIndex == -1)
            {
                SetActive("tab4"); return;
            }
            ;

            // Save element
            var terminologyId = Convert.ToInt32(lstTermResult.SelectedItem.Value);
            var terminology   = GetTerminology(terminologyId);

            if (terminology.ConditionMedDras.Count > 0)
            {
                SetActive("tab4");
                err += "<li>Terminology already added to a condition...</li>";
            }

            if (err != "<ul>")
            {
                err += "</ul>";
                divMError.Visible   = true;
                spnMError.InnerHtml = err;
                return;
            }

            var conmed = new ConditionMedDra
            {
                Condition         = _condition,
                TerminologyMedDra = terminology
            };

            UnitOfWork.Repository <ConditionMedDra>().Save(conmed);
            UnitOfWork.Complete();

            RenderGrids();
            SetActive("tab4");
        }