private List <MetadataProperty> GetMetaProps(IndexSet indexSet)
        {
            List <MetadataProperty> metadataPropertyList = new List <MetadataProperty>();

            for (int index = 0; index < this.FClass.Properties.Count; ++index)
            {
                if (indexSet[index])
                {
                    metadataPropertyList.Add(this.FClass.Properties[index]);
                }
            }
            return(metadataPropertyList);
        }
        internal IndexSet GetPropertyIndexSet(PropertyStateFilter filter)
        {
            IndexSet indexSet = new IndexSet();

            DataProperty[] fproperties = this.FProperties;
            if (fproperties != null)
            {
                for (int index = 0; index < fproperties.Length; ++index)
                {
                    if (DataObject.IsAcceptable(fproperties[index], filter))
                    {
                        indexSet[index] = true;
                    }
                }
            }
            return(indexSet);
        }
 private void CommitUpdatingToMasterSession(IEnumerable <ObjectsByPropertyIndexSet> updatePlan)
 {
     foreach (ObjectsByPropertyIndexSet propertyIndexSet in updatePlan)
     {
         if (propertyIndexSet.IndexSet.IsEmpty)
         {
             break;
         }
         List <MetadataProperty> metadataPropertyList = new List <MetadataProperty>();
         IndexSet indexSet = propertyIndexSet.IndexSet;
         for (int index = 0; index < this.FStorage.Class.Properties.Count; ++index)
         {
             if (indexSet[index])
             {
                 metadataPropertyList.Add(this.FStorage.Class.Properties[index]);
             }
         }
         for (int index = 0; index < propertyIndexSet.Count; ++index)
         {
             DataObject dataObject = propertyIndexSet[index];
             StorageCommitPlan.CopyPropsToMasterObject(dataObject, this.FMasterStorage[dataObject.Id], (IList <MetadataProperty>)metadataPropertyList);
         }
     }
 }
Example #4
0
 internal IndexSet(IndexSet source) => Array.Copy((Array)source.FBitGroups, (Array) this.FBitGroups, 32);
 public ObjectsByPropertyIndexSet(IndexSet indexSet) => this.IndexSet = new IndexSet(indexSet);