コード例 #1
0
        public NosologyViewForm(CWorkersKeeper workersKeeper, CNosology nosologyInfo, string defaultParentFolderName, string notEditableNosologyName)
        {
            InitializeComponent();

            _workersKeeper  = workersKeeper;
            _nosologyWorker = workersKeeper.NosologyWorker;

            if (!string.IsNullOrEmpty(notEditableNosologyName))
            {
                textBoxNosologyName.ReadOnly = true;
                textBoxNosologyName.Text     = notEditableNosologyName;
            }

            if (nosologyInfo == null)
            {
                _nosologyInfo = new CNosology();
                Text          = "Добавление новой нозологии";
                AddAllParentNosologyesToComboBox(string.Empty);
                comboBoxParentNodeName.Text = defaultParentFolderName;
            }
            else
            {
                _nosologyInfo            = new CNosology(nosologyInfo);
                Text                     = "Редактирование нозологии";
                textBoxNosologyName.Text = _nosologyInfo.Name;

                AddAllParentNosologyesToComboBox(nosologyInfo.Name);

                if (nosologyInfo.IdParent != -1)
                {
                    CNosology nosology = _nosologyWorker.GetById(nosologyInfo.IdParent);
                    comboBoxParentNodeName.Text = nosology.Name;
                }
            }
        }
コード例 #2
0
        private string GetDifferenсesInNosologies()
        {
            CNosologyWorker ownNosologyWorker    = _mainForm.WorkersKeeper.NosologyWorker;
            CNosologyWorker foreinNosologyWorker = _mainForm.ForeinWorkersKeeper.NosologyWorker;

            var ownNewInfo = new StringBuilder("\r\nНаша база содержит следуюущие уникальные нозологии:\r\n");
            var diffInfo   = new StringBuilder("\r\nСледующие нозологии имеют различия в типе или расположении:\r\n");

            foreach (var ownNosology in ownNosologyWorker.NosologyList)
            {
                CNosology foreinNosology = foreinNosologyWorker.GetByGeneralData(ownNosology.Name);
                if (foreinNosology == null)
                {
                    ownNewInfo.Append(ownNosology.Name + ", ");
                    continue;
                }

                if (ownNosology.Type != foreinNosology.Type)
                {
                    diffInfo.Append(ownNosology.Name + ", ");
                    continue;
                }

                CNosology parentOwnNosology    = ownNosology;
                CNosology parentForeinNosology = foreinNosology;
                while (parentOwnNosology.IdParent != -1 && parentForeinNosology.IdParent != -1)
                {
                    parentOwnNosology    = ownNosologyWorker.GetById(parentOwnNosology.IdParent);
                    parentForeinNosology = foreinNosologyWorker.GetById(parentForeinNosology.IdParent);
                    if (parentOwnNosology.Name != parentForeinNosology.Name)
                    {
                        break;
                    }
                }

                if (parentOwnNosology.IdParent != -1 || parentForeinNosology.IdParent != -1)
                {
                    diffInfo.Append(ownNosology.Name + ", ");
                }
            }

            var foreinNewInfo = new StringBuilder("\r\nВнешняя база содержит следуюущие уникальные нозологии:\r\n");

            foreach (var foreinNosology in foreinNosologyWorker.NosologyList)
            {
                CNosology ownNosology = ownNosologyWorker.GetByGeneralData(foreinNosology.Name);
                if (ownNosology == null)
                {
                    foreinNewInfo.Append(foreinNosology.Name + ", ");
                    continue;
                }

                if (ownNosology.Type != foreinNosology.Type)
                {
                    diffInfo.Append(foreinNosology.Name + ", ");
                }
            }

            string diffResult = string.Empty;

            if (ownNewInfo.ToString().EndsWith(", "))
            {
                diffResult += ownNewInfo.ToString().Substring(0, ownNewInfo.Length - 2);
            }

            if (foreinNewInfo.ToString().EndsWith(", "))
            {
                diffResult += foreinNewInfo.ToString().Substring(0, foreinNewInfo.Length - 2);
            }

            if (diffInfo.ToString().EndsWith(", "))
            {
                diffResult += diffInfo.ToString().Substring(0, diffInfo.Length - 2);
            }

            return(diffResult);
        }