Exemplo n.º 1
0
        internal override void ExecuteInternal(QueryContext queryContext, ref SortedList list)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                ArrayList keyList = null;

                if (Inverse)
                {
                    keyList = store.GetData(generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues), ComparisonType.LESS_THAN_EQUALS);
                }
                else
                {
                    keyList = store.GetData(generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues), ComparisonType.GREATER_THAN);
                }

                if (keyList != null)
                {
                    list.Add(keyList.Count, keyList);
                }
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 2
0
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                ClusteredArrayList keyList = null;

                if (Inverse)
                {
                    store.GetData(
                        generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues),
                        ComparisonType.LESS_THAN_EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union);
                }
                else
                {
                    store.GetData(
                        generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues),
                        ComparisonType.GREATER_THAN, queryContext.InternalQueryResult, CollectionOperation.Union);
                }
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" +
                                                   ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 3
0
        internal override void ExecuteInternal(QueryContext queryContext, ref SortedList list)
        {
            ArrayList keyList = null;

            pattern = (string)generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues);
            pattern = pattern.Trim('\'');

            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                if (Inverse)
                {
                    keyList = store.GetData(pattern, ComparisonType.NOT_LIKE);
                }
                else
                {
                    keyList = store.GetData(pattern, ComparisonType.LIKE);
                }


                if (keyList != null)
                {
                    list.Add(keyList.Count, keyList);
                }
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
        /// <summary>
        /// See attribute-level indexes can't be used in this predicate.
        /// </summary>
        /// <param name="queryContext"></param>
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            ClusteredArrayList keyList = null;

            pattern = (string)generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues);
            pattern = pattern.Trim('\'');

            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                if (Inverse)
                {
                    store.GetData(pattern, ComparisonType.NOT_LIKE, queryContext.InternalQueryResult, CollectionOperation.Union, queryContext.CancellationToken);
                }
                else
                {
                    store.GetData(pattern, ComparisonType.LIKE, queryContext.InternalQueryResult, CollectionOperation.Union, queryContext.CancellationToken);
                }
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 5
0
        protected void btn_Update_Option_Command(object sender, CommandEventArgs e)
        {
            if (Page.IsValid && !DataEval.IsEmptyQuery(e.CommandArgument.ToString()))
            {
                ProductAttributeMgr myProductAttributeMgr = new ProductAttributeMgr();

                e2Data[] UpdateData =
                {
                    new e2Data("AttributeID",       e.CommandArgument.ToString()),
                    new e2Data("Attribute_Name",    tbx_AttributeName.Text),
                    new e2Data("IsPreSelected",     chkbox_IsPreSelected.Checked.ToString()),
                    new e2Data("Price_Adjustment",  RadNumericTextBox_PriceAdjustment.Text),
                    new e2Data("Weight_Adjustment", RadNumericTextBox_WeightAdjustment.Text),
                    new e2Data("IsActive",          chkbox_IsActive.Checked.ToString())
                };

                myProductAttributeMgr.Edit_Product_Attribute(UpdateData);

                Control_Init();

                // Check Update Type
                AttributeIndex myAttributeIndex = myProductAttributeMgr.Get_Product_AttributeIndex(_attribute_indexid);

                switch (myAttributeIndex.Input_Option)
                {
                case Input_Option.TextBox:
                    Panel_Updated.Visible = true;
                    break;

                case Input_Option.NumberBox:
                    Panel_Updated.Visible = true;
                    break;

                case Input_Option.DropdownList:
                    MultiView_OptionForm.SetActiveView(View_Button);
                    break;

                case Input_Option.RadioButtonList:
                    MultiView_OptionForm.SetActiveView(View_Button);
                    break;

                case Input_Option.DatePicker:
                    Panel_Updated.Visible = true;
                    break;

                case Input_Option.CheckBox:
                    Panel_Updated.Visible = true;
                    break;

                case Input_Option.CheckBoxList:
                    MultiView_OptionForm.SetActiveView(View_Button);
                    break;

                case Input_Option.ImageURL:
                    Panel_Updated.Visible = true;
                    break;
                }
            }
        }
Exemplo n.º 6
0
 public IIndexStore GetStore(AttributeIndex index)
 {
     if (index != null)
     {
         return(index.GetStore(name));
     }
     return(null);
 }
Exemplo n.º 7
0
 /// <summary>
 /// Recupera o armazenamento do membro a partir do indice informado.
 /// </summary>
 /// <param name="index"></param>
 /// <returns></returns>
 public IIndexStore GetStore(AttributeIndex index)
 {
     if (_functor is MemberFunction)
     {
         return(((MemberFunction)_functor).GetStore(index));
     }
     throw new NotSupportedException();
 }
Exemplo n.º 8
0
        /// <summary>
        /// Recalcula o predicado.
        /// </summary>
        /// <param name="index"></param>
        /// <param name="cache"></param>
        /// <param name="attributeValues"></param>
        /// <param name="cacheContext"></param>
        /// <returns></returns>
        internal virtual ArrayList ReEvaluate(AttributeIndex index, LocalCacheBase cache, IDictionary attributeValues, string cacheContext)
        {
            QueryContext queryContext = new QueryContext(cache);

            queryContext.AttributeValues = attributeValues;
            queryContext.Index           = index;
            queryContext.CacheContext    = cacheContext;
            this.Execute(queryContext, null);
            queryContext.Tree.Reduce();
            return(queryContext.Tree.LeftList);
        }
Exemplo n.º 9
0
        internal override void ExecuteInternal(QueryContext queryContext, CollectionOperation mergeType)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                members = queryContext.AttributeValues[((MemberFunction)functor).MemberName] as ArrayList;
                if (members == null)
                {
                    if (queryContext.AttributeValues.Count > 0)
                    {
                        members = new ArrayList();
                        members.Add(queryContext.AttributeValues[((MemberFunction)functor).MemberName]);
                    }
                    else
                    {
                        throw new Exception("Value(s) not specified for indexed attribute " + ((MemberFunction)functor).MemberName + ".");
                    }
                }

                IQueryResult tempResult = queryContext.InternalQueryResult;
                queryContext.InternalQueryResult = new Common.Queries.HashedQueryResult();


                if (!Inverse)
                {
                    for (int i = 0; i < members.Count; i++)
                    {
                        store.GetData(members[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union);
                    }
                }
                else
                {
                    store.GetData(members[0], ComparisonType.NOT_EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union);
                    if (queryContext.InternalQueryResult != null)
                    {
                        if (queryContext.InternalQueryResult.Count > 0)
                        {
                            for (int i = 1; i < members.Count; i++)
                            {
                                store.GetData(members[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Subtract);
                            }
                        }
                    }
                }
                queryContext.InternalQueryResult.Merge(tempResult, mergeType);
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 10
0
        internal virtual ClusteredArrayList ReEvaluate(AttributeIndex index, LocalCacheBase cache, IDictionary attributeValues, string cacheContext)
        {
            QueryContext context = new QueryContext(cache);

            context.AttributeValues = attributeValues;
            context.Index           = index;
            context.CacheContext    = cacheContext;

            Execute(context, null);

            return(context.InternalQueryResult.GetArrayList());
        }
Exemplo n.º 11
0
        internal virtual ArrayList ReEvaluate(AttributeIndex index, LocalCacheBase cache, IDictionary attributeValues, string cacheContext)
        {
            QueryContext context = new QueryContext(cache);
            context.AttributeValues = attributeValues;
            context.Index = index;
            context.CacheContext = cacheContext;    

            Execute(context, null);

            context.Tree.Reduce();
            return context.Tree.LeftList;
        }
Exemplo n.º 12
0
        public void Control_FillData()
        {
            _attribute_indexid = Request["Attribute_IndexID"];

            if (!DataEval.IsEmptyQuery(_attribute_indexid))
            {
                ViewState["Attribute_IndexID"] = _attribute_indexid;

                ProductAttributeMgr myProductAttributeMgr = new ProductAttributeMgr();

                AttributeIndex myAttributeIndex = myProductAttributeMgr.Get_Product_AttributeIndex(_attribute_indexid);

                lbl_AttributeName.Text = myAttributeIndex.Display_Text;

                switch (myAttributeIndex.Input_Option)
                {
                case Input_Option.TextBox:
                    Display_Form();
                    break;

                case Input_Option.NumberBox:
                    Display_Form();
                    break;

                case Input_Option.DropdownList:
                    Display_Input_Options();
                    break;

                case Input_Option.RadioButtonList:
                    Display_Input_Options();
                    break;

                case Input_Option.DatePicker:
                    Display_Form();
                    break;

                case Input_Option.CheckBox:
                    Display_Form();
                    break;

                case Input_Option.CheckBoxList:
                    Display_Input_Options();
                    break;

                case Input_Option.ImageURL:
                    Display_Form();
                    break;
                }

                Panel_Updated.Visible = false;
            }
        }
Exemplo n.º 13
0
        internal override void ExecuteInternal(QueryContext queryContext, CollectionOperation mergeType)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                var values = GetComparibleValues(queryContext);

                IQueryResult tempResult = queryContext.InternalQueryResult;
                queryContext.InternalQueryResult = new Common.Queries.HashedQueryResult(queryContext.KeyFilter, queryContext.CompoundFilter);


                if (!Inverse)
                {
                    for (int i = 0; i < values.Count; i++)
                    {
                        if (queryContext.CancellationToken != null && queryContext.CancellationToken.IsCancellationRequested)
                        {
                            throw new OperationCanceledException(ExceptionsResource.OperationFailed);
                        }

                        store.GetData(values[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union, queryContext.CancellationToken);
                    }
                }
                else
                {
                    store.GetData(values[0], ComparisonType.NOT_EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union, queryContext.CancellationToken);
                    if (queryContext.InternalQueryResult != null)
                    {
                        if (queryContext.InternalQueryResult.Count > 0)
                        {
                            for (int i = 1; i < values.Count; i++)
                            {
                                if (queryContext.CancellationToken != null && queryContext.CancellationToken.IsCancellationRequested)
                                {
                                    throw new OperationCanceledException(ExceptionsResource.OperationFailed);
                                }
                                store.GetData(values[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Subtract, queryContext.CancellationToken);
                            }
                        }
                    }
                }
                queryContext.InternalQueryResult.Merge(tempResult, mergeType);
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
        /// <summary>
        /// Executa o predicado.
        /// </summary>
        /// <param name="queryContext">Contexto da consulta.</param>
        /// <param name="nextPredicate"></param>
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            ArrayList data = null;

            _pattern = (string)_generator.Evaluate(queryContext.AttributeValues);
            _pattern = _pattern.Trim(new char[] {
                '\''
            });
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)_functor).GetStore(index);

            if (store == null)
            {
                if (queryContext.Cache.Count != 0)
                {
                    throw new ParserException("Index is not defined for attribute '" + ((MemberFunction)_functor).MemberName + "'");
                }
            }
            else
            {
                if (base.Inverse)
                {
                    data = store.GetData(_pattern, ComparisonType.NOT_LIKE);
                }
                else
                {
                    data = store.GetData(_pattern, ComparisonType.LIKE);
                }
                if ((data != null) && (data.Count > 0))
                {
                    IEnumerator enumerator = data.GetEnumerator();
                    if (!queryContext.PopulateTree)
                    {
                        while (enumerator.MoveNext())
                        {
                            if (queryContext.Tree.LeftList.Contains(enumerator.Current))
                            {
                                queryContext.Tree.Shift(enumerator.Current);
                            }
                        }
                    }
                    else
                    {
                        queryContext.Tree.RightList = data;
                        queryContext.PopulateTree   = false;
                    }
                }
            }
        }
Exemplo n.º 15
0
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                var values = GetComparibleValues(queryContext);

                ClusteredArrayList keyList = new ClusteredArrayList();
                if (!Inverse)
                {
                    ClusteredArrayList distinctMembers = new ClusteredArrayList();

                    for (int i = 0; i < values.Count; i++)
                    {
                        if (!distinctMembers.Contains(values[i]))
                        {
                            distinctMembers.Add(values[i]);
                            store.GetData(values[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union);
                        }
                    }
                }
                else
                {
                    ArrayList distinctMembers = new ArrayList();
                    queryContext.InternalQueryResult = new HashedQueryResult(queryContext.KeyFilter, queryContext.CompoundFilter);
                    store.GetData(values[0], ComparisonType.NOT_EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union);
                    if (queryContext.InternalQueryResult != null)
                    {
                        if (queryContext.InternalQueryResult.Count > 0)
                        {
                            for (int i = 1; i < values.Count; i++)
                            {
                                if (!distinctMembers.Contains(values[i]))
                                {
                                    distinctMembers.Add(values[i]);
                                    store.GetData(values[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Subtract);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 16
0
        /// <summary>
        /// See attribute-level indexes can't be used in this predicate.
        /// </summary>
        /// <param name="queryContext"></param>
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            ArrayList keyList = null;

            pattern = (string)generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues);
            pattern = pattern.Trim('\'');

            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                if (Inverse)
                {
                    keyList = store.GetData(pattern, ComparisonType.NOT_LIKE);
                }
                else
                {
                    keyList = store.GetData(pattern, ComparisonType.LIKE);
                }

                if (keyList != null && keyList.Count > 0)
                {
                    IEnumerator keyListEnum = keyList.GetEnumerator();

                    if (queryContext.PopulateTree)
                    {
                        queryContext.Tree.RightList = keyList;

                        queryContext.PopulateTree = false;
                    }
                    else
                    {
                        while (keyListEnum.MoveNext())
                        {
                            if (queryContext.Tree.LeftList.Contains(keyListEnum.Current))
                            {
                                queryContext.Tree.Shift(keyListEnum.Current);
                            }
                        }
                    }
                }
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 17
0
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                ArrayList keyList = null;

                if (Inverse)
                {
                    keyList = store.GetData(generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues), ComparisonType.LESS_THAN_EQUALS);
                }
                else
                {
                    keyList = store.GetData(generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues), ComparisonType.GREATER_THAN);
                }

                if (keyList != null && keyList.Count > 0)
                {
                    IEnumerator keyListEnum = keyList.GetEnumerator();

                    if (queryContext.PopulateTree)
                    {
                        queryContext.Tree.RightList = keyList;

                        queryContext.PopulateTree = false;
                    }
                    else
                    {
                        while (keyListEnum.MoveNext())
                        {
                            if (queryContext.Tree.LeftList.Contains(keyListEnum.Current))
                            {
                                queryContext.Tree.Shift(keyListEnum.Current);
                            }
                        }
                    }
                }
            }
            else //straight-forward. no index.
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
        /// <summary>
        /// Executa o predicado.
        /// </summary>
        /// <param name="queryContext"></param>
        /// <param name="list"></param>
        internal override void ExecuteInternal(QueryContext queryContext, ref SortedList list)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)_functor).GetStore(index);

            if (store != null)
            {
                var data = store.GetData(_generator.Evaluate(queryContext.AttributeValues), base.Inverse ? ComparisonType.GREATER_THAN_EQUALS : ComparisonType.LESS_THAN);
                if (data != null)
                {
                    list.Add(data.Count, data);
                }
            }
            else if (queryContext.Cache.Count != 0)
            {
                throw new ParserException("Index is not defined for attribute '" + ((MemberFunction)_functor).MemberName + "'");
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// Executa o predicado.
        /// </summary>
        /// <param name="queryContext"></param>
        /// <param name="list"></param>
        internal override void ExecuteInternal(QueryContext queryContext, ref SortedList list)
        {
            AttributeIndex index          = queryContext.Index;
            var            memberFunction = (IMemberFunction)_functor;
            IIndexStore    store          = memberFunction.GetStore(index);

            if (store != null)
            {
                var data = memberFunction.GetData(store, queryContext.AttributeValues, base.Inverse ? ComparisonType.NOT_EQUALS : ComparisonType.EQUALS, CacheNull.Value);
                if (data != null)
                {
                    list.Add(data.Count, data);
                }
            }
            else if (queryContext.Cache.Count != 0)
            {
                throw new ParserException("Index is not defined for attribute '" + ((IMemberFunction)_functor).MemberName + "'");
            }
        }
Exemplo n.º 20
0
        protected void RadGrid_Attributes_RowDrop(object sender, GridDragDropEventArgs e)
        {
            if (e.DestDataItem != null &&
                string.IsNullOrEmpty(e.HtmlElement) &&
                e.DestDataItem.OwnerGridID == RadGrid_Attributes.ClientID)
            {
                ProductAttributeMgr myProductAttributeMgr = new ProductAttributeMgr();

                List <AttributeIndex> myAttributeIndexs = myProductAttributeMgr.Get_Product_AttributeIndexes(_productid);

                AttributeIndex draggedAttributeIndex = Get_AttributeIndex_in_List(myAttributeIndexs, e.DraggedItems[0].GetDataKeyValue("Attribute_IndexID").ToString());
                AttributeIndex destAttributeIndex    = Get_AttributeIndex_in_List(myAttributeIndexs, e.DestDataItem.GetDataKeyValue("Attribute_IndexID").ToString());

                int destIndex = myAttributeIndexs.IndexOf(destAttributeIndex);

                if (e.DropPosition == GridItemDropPosition.Above && e.DestDataItem.ItemIndex > e.DraggedItems[0].ItemIndex)
                {
                    destIndex -= 1;
                }
                if (e.DropPosition == GridItemDropPosition.Below && e.DestDataItem.ItemIndex < e.DraggedItems[0].ItemIndex)
                {
                    destIndex += 1;
                }

                myAttributeIndexs.Remove(draggedAttributeIndex);
                myAttributeIndexs.Insert(destIndex, draggedAttributeIndex);

                foreach (AttributeIndex AttributeIndex in myAttributeIndexs)
                {
                    // Product Variant
                    e2Data[] UpdateData =
                    {
                        new e2Data("Attribute_IndexID", AttributeIndex.Attribute_IndexID),
                        new e2Data("SortOrder",         (myAttributeIndexs.IndexOf(Get_AttributeIndex_in_List(myAttributeIndexs, AttributeIndex.Attribute_IndexID)) + 1).ToString())
                    };

                    myProductAttributeMgr.Edit_Product_AttributeIndex(UpdateData);
                }

                RadGrid_Attributes.Rebind();
            }
        }
        /// <summary>
        /// Executa o predicado.
        /// </summary>
        /// <param name="queryContext"></param>
        /// <param name="list"></param>
        internal override void ExecuteInternal(QueryContext queryContext, ref SortedList list)
        {
            _pattern = (string)_generator.Evaluate(queryContext.AttributeValues);
            _pattern = _pattern.Trim(new char[] {
                '\''
            });
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)_functor).GetStore(index);

            if (store != null)
            {
                var data = store.GetData(_pattern, base.Inverse ? ComparisonType.NOT_LIKE : ComparisonType.LIKE);
                if (data != null)
                {
                    list.Add(data.Count, data);
                }
            }
            else if (queryContext.Cache.Count != 0)
            {
                throw new ParserException("Index is not defined for attribute '" + ((MemberFunction)_functor).MemberName + "'");
            }
        }
Exemplo n.º 22
0
        protected void lbtn_Edit_Attribute_Command(object sender, CommandEventArgs e)
        {
            if (!DataEval.IsEmptyQuery(e.CommandArgument.ToString()))
            {
                ProductAttributeMgr myProductAttributeMgr = new ProductAttributeMgr();

                AttributeIndex myAttributeIndex = myProductAttributeMgr.Get_Product_AttributeIndex(e.CommandArgument.ToString());

                droplist_Attribute_TypeID.SelectedValue = myAttributeIndex.Attribute_TypeID;
                tbx_DisplayText.Text               = myAttributeIndex.Display_Text;
                chkbox_IsRequired.Checked          = myAttributeIndex.IsRequired;
                droplist_InputOption.SelectedValue = StringEnum.GetStringValue(myAttributeIndex.Input_Option);
                droplist_InputOption.Enabled       = false;
                chkbox_IsActive.Checked            = myAttributeIndex.IsActive;

                btn_Add_Attribute.Visible            = false;
                btn_Update_Attribute.Visible         = true;
                btn_Update_Attribute.CommandArgument = myAttributeIndex.Attribute_IndexID;
                btn_Cancel.Visible = true;

                MultiView_AttributeForm.SetActiveView(View_Form);
            }
        }
        /// <summary>
        /// Executa o predicado.
        /// </summary>
        /// <param name="queryContext">Contexto da consulta.</param>
        /// <param name="nextPredicate"></param>
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            AttributeIndex index          = queryContext.Index;
            var            memberFunction = (IMemberFunction)_functor;
            IIndexStore    store          = memberFunction.GetStore(index);

            if (store == null)
            {
                if (queryContext.Cache.Count != 0)
                {
                    throw new ParserException("Index is not defined for attribute '" + ((IMemberFunction)_functor).MemberName + "'");
                }
            }
            else
            {
                var data = memberFunction.GetData(store, queryContext.AttributeValues, base.Inverse ? ComparisonType.NOT_EQUALS : ComparisonType.EQUALS, _generator.Evaluate(queryContext.AttributeValues));
                if ((data != null) && (data.Count > 0))
                {
                    IEnumerator enumerator = data.GetEnumerator();
                    if (!queryContext.PopulateTree)
                    {
                        while (enumerator.MoveNext())
                        {
                            if (queryContext.Tree.LeftList.Contains(enumerator.Current))
                            {
                                queryContext.Tree.Shift(enumerator.Current);
                            }
                        }
                    }
                    else
                    {
                        queryContext.Tree.RightList = data;
                        queryContext.PopulateTree   = false;
                    }
                }
            }
        }
Exemplo n.º 24
0
        internal override void ExecuteInternal(QueryContext queryContext, CollectionOperation mergeType)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                ClusteredArrayList keyList = null;

                if (Inverse)
                {
                    store.GetData(generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues), ComparisonType.NOT_EQUALS, queryContext.InternalQueryResult, mergeType);
                }
                else
                {
                    store.GetData(generator.Evaluate(((MemberFunction)functor).MemberName, queryContext.AttributeValues), ComparisonType.EQUALS, queryContext.InternalQueryResult, mergeType);
                }
            }
            else
            {
                //if (queryContext.Cache.Count != 0)
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 25
0
        internal override void Execute(QueryContext queryContext, Predicate nextPredicate)
        {
            AttributeIndex index = queryContext.Index;
            IIndexStore    store = ((MemberFunction)functor).GetStore(index);

            if (store != null)
            {
                members = queryContext.AttributeValues[((MemberFunction)functor).MemberName] as ArrayList;

                if (members == null)
                {
                    if (queryContext.AttributeValues.Count > 0)
                    {
                        members = new ArrayList();
                        members.Add(queryContext.AttributeValues[((MemberFunction)functor).MemberName]);
                    }
                    else
                    {
                        throw new Exception("Value(s) not specified for indexed attribute " + ((MemberFunction)functor).MemberName + ".");
                    }
                }

                ClusteredArrayList keyList = new ClusteredArrayList();
                if (!Inverse)
                {
                    ClusteredArrayList distinctMembers = new ClusteredArrayList();

                    for (int i = 0; i < members.Count; i++)
                    {
                        if (!distinctMembers.Contains(members[i]))
                        {
                            distinctMembers.Add(members[i]);
                            store.GetData(members[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union);
                        }
                    }
                }
                else
                {
                    ArrayList distinctMembers = new ArrayList();
                    queryContext.InternalQueryResult = new HashedQueryResult();
                    store.GetData(members[0], ComparisonType.NOT_EQUALS, queryContext.InternalQueryResult, CollectionOperation.Union);
                    if (queryContext.InternalQueryResult != null)
                    {
                        if (queryContext.InternalQueryResult.Count > 0)
                        {
                            for (int i = 1; i < members.Count; i++)
                            {
                                if (!distinctMembers.Contains(members[i]))
                                {
                                    distinctMembers.Add(members[i]);
                                    store.GetData(members[i], ComparisonType.EQUALS, queryContext.InternalQueryResult, CollectionOperation.Subtract);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                throw new AttributeIndexNotDefined("Index is not defined for attribute '" + ((MemberFunction)functor).MemberName + "'");
            }
        }
Exemplo n.º 26
0
 public override string ToString()
 {
     return(Type.ToString() + " " + LogicalName + " " +
            AttributeIndex.ToString() + " " + DataIndex.ToString());
 }
Exemplo n.º 27
0
 public IIndexStore GetStore(AttributeIndex index)
 {
     if (index != null)
         return index.GetStore(name);
     return null;
 }
Exemplo n.º 28
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NAMEHERE"/> class.
 /// </summary>
 public NAMEHERE()
 {
     _collectionType = ConfigurationElementCollectionType.AddRemoveClearMap; _attributeIndex = new AttributeIndex(this);
 }
Exemplo n.º 29
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ConfigurationSet&lt;T&gt;"/> class.
 /// </summary>
 /// <param name="collectionType">Type of the collection.</param>
 protected ConfigurationElementCollectionEx(ConfigurationElementCollectionType collectionType)
 {
     _collectionType = collectionType;
     _attributeIndex = new AttributeIndex(this);
 }
Exemplo n.º 30
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ServiceBusConfiguration"/> class.
 /// </summary>
 public ServiceBusConfiguration()
 {
     _attributeIndex = new AttributeIndex(this);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ConfigurationElementEx"/> class.
 /// </summary>
 protected ConfigurationElementEx()
 {
     _attributeIndex = new AttributeIndex(this);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="NAMEHERE"/> class.
 /// </summary>
 public NAMEHERE()
 {
     _attributeIndex = new AttributeIndex(this);
 }