Ejemplo n.º 1
0
        //private bool _isEdit;
        public FormQCItem(QueryCriteriaItem item, XCollection <QueryCriteriaItem> list)
        {
            InitializeComponent();
            InitializeCombox();

            _qcitem = item;
            _qcList = list;

            if (_qcitem == null)
            {
                _qcitem = new QueryCriteriaItem();
                _qcitem.Translating.Type = TranslatingType.FixValue;
                _qcitem.Operator         = QueryCriteriaOperator.Equal;
                _qcitem.Type             = QueryCriteriaType.And;
                this.Text = "Add Query Criteria Item";
            }
            else
            {
                //_isEdit = true;
                this.Text = "Edit Query Criteria Item";
            }

            _fieldControler = new MyFieldControler(this.comboBoxTable, this.comboBoxField);
            _fieldControler.ValueChanged += new EventHandler(_fieldControler_ValueChanged);
        }
Ejemplo n.º 2
0
        public XIMOutboundMessage Clone()
        {
            XIMOutboundMessage msg = new XIMOutboundMessage();

            msg.HL7EventType = HL7EventType.Clone();
            msg.GWEventType  = GWEventType.Clone();
            msg.XSLFileName  = XSLFileName;

            //msg.Rule.RuleID = Rule.RuleID;    // do not copy RuleID
            msg.Rule.RuleName              = Rule.RuleName;
            msg.Rule.MaxRecordCount        = Rule.MaxRecordCount;
            msg.Rule.CheckProcessFlag      = Rule.CheckProcessFlag;
            msg.Rule.AutoUpdateProcessFlag = Rule.AutoUpdateProcessFlag;
            foreach (XIMMappingItem item in Rule.QueryResult.MappingList)
            {
                XIMMappingItem i = item.Clone() as XIMMappingItem;
                msg.Rule.QueryResult.MappingList.Add(i);
            }
            foreach (QueryCriteriaItem item in Rule.QueryCriteria.MappingList)
            {
                QueryCriteriaItem i = new QueryCriteriaItem();
                i.Type           = item.Type;
                i.Translating    = item.Translating.Clone();
                i.TargetField    = item.TargetField;
                i.SourceField    = item.SourceField;
                i.Singal         = item.Singal;
                i.RedundancyFlag = item.RedundancyFlag;
                i.Operator       = item.Operator;
                i.GWDataDBField  = item.GWDataDBField.Clone();
                msg.Rule.QueryCriteria.MappingList.Add(i);
            }

            return(msg);
        }
Ejemplo n.º 3
0
 private static void AddEventTypeItem(XIMMessage message)
 {
     if (message is XIMInboundMessage)
     {
         if (message == null)
         {
             return;
         }
         XIMMappingItem item = new XIMMappingItem();
         item.GWDataDBField          = GWDataDBField.i_EventType.Clone();
         item.Translating.ConstValue = message.GWEventType.Code;
         item.Translating.Type       = TranslatingType.FixValue;
         GenerateSourceFieldName(item);
         message.MappingList.Add(item);
     }
     else if (message is XIMOutboundMessage)
     {
         if (message == null)
         {
             return;
         }
         QueryCriteriaItem item = new QueryCriteriaItem();
         item.GWDataDBField          = GWDataDBField.i_EventType.Clone();
         item.Translating.ConstValue = message.GWEventType.Code;
         item.Translating.Type       = TranslatingType.FixValue;
         item.Type = QueryCriteriaType.And;
         GenerateTargetFieldName(item);
         ((XIMOutboundMessage)message).Rule.QueryCriteria.MappingList.Add(item);
     }
 }
Ejemplo n.º 4
0
        public FilterItem(XCollection <QueryCriteriaItem> filterList)
        {
            InitializeComponent();

            filterItemList = filterList;
            this.Text      = "Add Query Item";
            filterItem     = new QueryCriteriaItem();
            type           = "Add";
        }
Ejemplo n.º 5
0
        public FilterItem(XCollection <QueryCriteriaItem> filterList, int index)
        {
            InitializeComponent();

            filterItemList = filterList;
            this.Text      = "Modify Query Item";
            filterItem     = filterList[index];
            type           = "Modify";
            ShowInfo();
        }
Ejemplo n.º 6
0
        private void RefreshQCButtons()
        {
            QueryCriteriaItem item = GetSelectedQCitem();

            this.buttonEditCriteria.Enabled = this.buttonDeleteCriteria.Enabled = item != null;

            int count = this.listViewCriteria.Items.Count;
            int index = this.listViewCriteria.SelectedItems.Count > 0 ? this.listViewCriteria.SelectedItems[0].Index : -1;

            this.buttonDownCriteria.Enabled = index >= 0 && index < count - 1;
            this.buttonUpCriteria.Enabled   = index > 0 && index <= count - 1;
        }
Ejemplo n.º 7
0
 private void SelectItem(QueryCriteriaItem item)
 {
     foreach (ListViewItem i in this.listViewQCList.Items)
     {
         if (item == i.Tag as QueryCriteriaItem)
         {
             i.Selected = true;
             i.EnsureVisible();
             break;
         }
     }
 }
Ejemplo n.º 8
0
        private void Delete()
        {
            QueryCriteriaItem item = GetSelectedItem();

            if (item == null)
            {
                return;
            }

            _message.QueryCriterias.Remove(item);

            RefreshList();
            RefreshButtons();
        }
Ejemplo n.º 9
0
        private void Edit()
        {
            QueryCriteriaItem item = GetSelectedItem();

            if (item == null)
            {
                return;
            }

            FormQCItem frm = new FormQCItem(item, _message.QueryCriterias);

            if (frm.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            RefreshList();
            SelectItem(item);
        }
Ejemplo n.º 10
0
        private void Add()
        {
            FormQCItem frm = new FormQCItem(null, _message.QueryCriterias);

            if (frm.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            QueryCriteriaItem item = frm.QCItem;

            if (item == null)
            {
                return;
            }

            _message.QueryCriterias.Add(item);

            RefreshList();
            SelectItem(item);
        }
Ejemplo n.º 11
0
        public static void ModifyQCMappingList_DateTime <TC>(XCollection <TC> qcList, bool withBracket)
            where TC : QueryCriteriaItem, IDicomMappingItem, new()
        {
            if (qcList == null)
            {
                return;
            }
            bool found = true;

            while (found)
            {
                found = false;
                int count = qcList.Count;
                for (int index = 0; index < count; index++)
                {
                    TC item = qcList[index];

                    IDicomMappingItem dcmItem = item as IDicomMappingItem;
                    if (dcmItem == null)
                    {
                        continue;
                    }

                    if (dcmItem.DPath != null &&
                        dcmItem.DPath.Range == DRangeType.None &&
                        DHelper.IsDateTime(dcmItem.DPath.VR))
                    {
                        qcList.Remove(item);

                        QueryCriteriaItem itemB = dcmItem.Clone() as QueryCriteriaItem;
                        ((IDicomMappingItem)itemB).DPath.Range = DRangeType.Begin;
                        itemB.Operator    = QueryCriteriaOperator.EqualLargerThan;
                        itemB.SourceField = itemB.SourceField + "_BEGIN";

                        QueryCriteriaItem itemE = dcmItem.Clone() as QueryCriteriaItem;
                        ((IDicomMappingItem)itemE).DPath.Range = DRangeType.End;
                        itemE.Operator    = QueryCriteriaOperator.EqualSmallerThan;
                        itemE.SourceField = itemE.SourceField + "_END";

                        if (withBracket)    // for GetRule()
                        {
                            qcList.Insert(index, GetRightBracket <TC>());
                            qcList.Insert(index, GetRightBracket <TC>());

                            TC itemEE = GetFreeText <TC>("@" + itemE.SourceField + "=''");
                            itemEE.Type = QueryCriteriaType.And;
                            qcList.Insert(index, itemEE);

                            TC itemBB = GetFreeText <TC>("@" + itemB.SourceField + "=''");
                            itemBB.Type = QueryCriteriaType.None;
                            qcList.Insert(index, itemBB);

                            TC itemOr = GetLeftBracket <TC>();
                            itemOr.Type = QueryCriteriaType.Or;
                            qcList.Insert(index, itemOr);

                            qcList.Insert(index, GetRightBracket <TC>());

                            itemE.Type = QueryCriteriaType.And;
                            qcList.Insert(index, itemE);

                            itemB.Type = QueryCriteriaType.None;
                            qcList.Insert(index, itemB);

                            qcList.Insert(index, GetLeftBracket <TC>());

                            TC itemAnd = GetLeftBracket <TC>();
                            itemAnd.Type = QueryCriteriaType.And;
                            qcList.Insert(index, itemAnd);
                        }
                        else                // for NT Service to create QC DataSet
                        {
                            qcList.Insert(index, itemE);
                            qcList.Insert(index, itemB);
                        }

                        found = true;
                        break;
                    }
                }
            }
        }
Ejemplo n.º 12
0
        private void RefreshButtons()
        {
            QueryCriteriaItem item = GetSelectedItem();

            this.buttonEdit.Enabled = this.buttonDelete.Enabled = item != null;
        }
Ejemplo n.º 13
0
        public static void ModifyQCMappingList_CS <TC>(XCollection <TC> qcList, bool withBracket)
            where TC : QueryCriteriaItem, IDicomMappingItem, new()
        {
            if (qcList == null)
            {
                return;
            }
            bool found = true;

            while (found)
            {
                found = false;
                int count = qcList.Count;
                for (int index = 0; index < count; index++)
                {
                    TC item = qcList[index];

                    IDicomMappingItem dcmItem = item as IDicomMappingItem;
                    if (dcmItem == null)
                    {
                        continue;
                    }

                    if (dcmItem.DPath != null &&
                        dcmItem.DPath.VR == DVR.CS &&
                        dcmItem.DPath.Path == DicomMappingHelper.DataColumnName2DPath(item.SourceField))
                    {
                        qcList.Remove(item);

                        if (withBracket)    // for GetRule()
                        {
                            qcList.Insert(index, DicomMappingHelper.GetRightBracket <TC>());
                        }

                        for (int i = Program.ConfigMgt.Config.CSDivisionMAXCount - 1; i >= 0; i--)  // for GetRule() and for NT Service to create QC DataSet
                        {
                            QueryCriteriaItem itemSub = dcmItem.Clone() as QueryCriteriaItem;
                            itemSub.SourceField = itemSub.SourceField + "_" + i.ToString();
                            itemSub.Operator    = QueryCriteriaOperator.Like;
                            if (i == 0)
                            {
                                itemSub.Type = QueryCriteriaType.None;
                            }
                            else
                            {
                                itemSub.Type = QueryCriteriaType.Or;
                            }
                            qcList.Insert(index, itemSub);
                        }

                        if (withBracket)    // for GetRule()
                        {
                            TC itemAnd = DicomMappingHelper.GetLeftBracket <TC>();
                            itemAnd.Type = QueryCriteriaType.And;
                            qcList.Insert(index, itemAnd);
                        }

                        found = true;
                        break;
                    }
                }
            }
        }