Пример #1
0
 /// <summary>
 /// Devuelve una instancia de <see cref="DataFilter"/>.
 /// </summary>
 public DataFilter(string name, OleDbType type, string value, FilterComparator comparationType)
 {
     Name            = name;
     Type            = type;
     Value           = value;
     ComparationType = comparationType;
 }
Пример #2
0
        internal bool Compare(FilterComparator attribute, string value)
        {
            bool result = default(bool);

            switch (attribute)
            {
            case FilterComparator.EVENT_TYPE:
                result = (this.eventInfo.Type == value);
                break;

            case FilterComparator.EVENT_MONITOR:
                result = (this.Monitor == value);
                break;

            case FilterComparator.EVENT_GCID:
                result = this.CID.Contains(value);
                break;
            }
            return(result);
        }
Пример #3
0
        private void HandleFilter(CustomBindingList<string> sender, ListChangedEventArgs e, FilterComparator compareAttribute)
        {
            CSMEvent tag;
            switch (e.ListChangedType)
            {
                case ListChangedType.ItemAdded:
                    foreach (TreeNode node in listFilterNode)
                    {
                        tag = (CSMEvent)node.Tag;
                        if (tag.Compare(compareAttribute, sender[e.NewIndex]))
                        {
                            tag.filterSet |= (int)compareAttribute;
                        }
                    }

                    for (int index = listNode.Count - 1; index >= 0; index--)
                    {
                        tag = (CSMEvent)listNode[index].Tag;
                        if (tag.Compare(compareAttribute, sender[e.NewIndex]))
                        {
                            tag.filterSet |= (int)compareAttribute;
                            listFilterNode.Add(listNode[index]);
                            listNode.RemoveAt(index);
                        }
                    }
                    break;
                case ListChangedType.ItemDeleted:
                    for (int index = listFilterNode.Count - 1; index >= 0; index--)
                    {
                        tag = (CSMEvent)listFilterNode[index].Tag;
                        if (tag.Compare(compareAttribute, sender.RemovedItem))
                        {
                            tag.filterSet &= (int)(~compareAttribute);
                            if (tag.filterSet == 0)
                            {
                                listNode.Add(listFilterNode[index]);
                                listFilterNode.RemoveAt(index);
                            }
                        }
                    }
                    break;
                case ListChangedType.Reset:
                    foreach (TreeNode item in listFilterNode)
                    {
                        listNode.Add(item);
                    }
                    listFilterNode.Clear();
                    break;
                default:
                    break;
            }
        }
Пример #4
0
 public void WhereSimpleFieldMatches(EpcisField field, FilterComparator filterOperator, object value) => _query = _query.Where($"{field.ToPgSql()} {filterOperator.ToSql()} {_parameters.Add(value)}");
Пример #5
0
 public void WhereCustomFieldMatches(bool inner, FieldType type, string fieldNamespace, string fieldName, FilterComparator comparator, object value) => throw new NotImplementedException();
Пример #6
0
 public void WhereEpcQuantityMatches(FilterComparator filterOperator, double value)
 => _query = _query.Where($"EXISTS(SELECT epc.event_id FROM epcis.epc epc WHERE epc.type = {EpcType.Quantity} AND epc.quantity {filterOperator.ToSql()} {_parameters.Add(value)} AND epc.event_id = event.id)");
 public void WhereCustomFieldMatches(CustomField field, bool inner, FilterComparator comparator, object value) => throw new NotImplementedException();
Пример #8
0
 internal bool Compare(FilterComparator attribute, string value)
 {
     bool result = default(bool);
     switch (attribute)
     {
         case FilterComparator.EVENT_TYPE:
             result = (this.eventInfo.Type == value);
             break;
         case FilterComparator.EVENT_MONITOR:
             result = (this.Monitor == value);
             break;
         case FilterComparator.EVENT_GCID:
             result = this.CID.Contains(value);
             break;
     }
     return result;
 }
Пример #9
0
        private void HandleFilter(CustomBindingList <string> sender, ListChangedEventArgs e, FilterComparator compareAttribute)
        {
            CSMEvent tag;

            switch (e.ListChangedType)
            {
            case ListChangedType.ItemAdded:
                foreach (TreeNode node in listFilterNode)
                {
                    tag = (CSMEvent)node.Tag;
                    if (tag.Compare(compareAttribute, sender[e.NewIndex]))
                    {
                        tag.filterSet |= (int)compareAttribute;
                    }
                }

                for (int index = listNode.Count - 1; index >= 0; index--)
                {
                    tag = (CSMEvent)listNode[index].Tag;
                    if (tag.Compare(compareAttribute, sender[e.NewIndex]))
                    {
                        tag.filterSet |= (int)compareAttribute;
                        listFilterNode.Add(listNode[index]);
                        listNode.RemoveAt(index);
                    }
                }
                break;

            case ListChangedType.ItemDeleted:
                for (int index = listFilterNode.Count - 1; index >= 0; index--)
                {
                    tag = (CSMEvent)listFilterNode[index].Tag;
                    if (tag.Compare(compareAttribute, sender.RemovedItem))
                    {
                        tag.filterSet &= (int)(~compareAttribute);
                        if (tag.filterSet == 0)
                        {
                            listNode.Add(listFilterNode[index]);
                            listFilterNode.RemoveAt(index);
                        }
                    }
                }
                break;

            case ListChangedType.Reset:
                foreach (TreeNode item in listFilterNode)
                {
                    listNode.Add(item);
                }
                listFilterNode.Clear();
                break;

            default:
                break;
            }
        }
Пример #10
0
 public static string ToSql(this FilterComparator op) => GetValue(op, FilterOperators) ?? throw new Exception($"Unknown filterOperator: '{op?.DisplayName}'");