internal static unsafe bool IsKeyOrTokenEmpty(IAssemblyName nameObject, PropertyId propertyId)
        {
            Debug.Assert(propertyId == PropertyId.NULL_PUBLIC_KEY_TOKEN || propertyId == PropertyId.NULL_PUBLIC_KEY);
            uint size = 0;
            int  hr   = nameObject.GetProperty(propertyId, null, ref size);

            return(hr == 0);
        }
Beispiel #2
0
 private static unsafe void SetProperty(
     IAssemblyName nameObject,
     PropertyId propertyId,
     uint data
     )
 {
     nameObject.SetProperty(propertyId, &data, sizeof(uint));
 }
 private string createDateKey(VehicleAdminObject currVehicle, PropertyId p)
 {
     string monthAndYearKey = string.Empty;
     string dateString = currVehicle.GetValue(p);
     DateTime d = DateTime.Parse(dateString);
     monthAndYearKey = d.Month + "-" + d.Year;
     return monthAndYearKey;
 }
        public void HandlePropertyChangedEvent(UIA.IUIAutomationElement sender, int propertyId, object newValue)
        {
            var frameworkElement = new UIA3FrameworkAutomationElement((UIA3Automation)Automation, sender);
            var senderElement    = new AutomationElement(frameworkElement);
            var property         = PropertyId.Find(Automation.AutomationType, propertyId);

            HandlePropertyChangedEvent(senderElement, property, newValue);
        }
        public AutomationElement FindItemByProperty(AutomationElement startAfter, PropertyId property, object value)
        {
            var foundNativeElement = NativePattern.FindItemByProperty(
                startAfter == null ? null : ValueConverter.ToNative(startAfter),
                property == null ? null : UIA.AutomationProperty.LookupById(property.Id), ValueConverter.ToNative(value));

            return(ValueConverter.NativeToManaged((UIA2Automation)BasicAutomationElement.Automation, foundNativeElement));
        }
 protected override Expression <Func <Product, bool> > GenerateExpression()
 {
     return(p => p.AttributeValues.RootElement
            .GetProperty(PropertyId.ToString())
            .GetInt32() >= Min && p.AttributeValues.RootElement
            .GetProperty(PropertyId.ToString())
            .GetInt32() <= Max);
 }
 public void AddProperty(PropertyId property)
 {
     if (m_properties == null)
     {
         m_properties = new HashSet <PropertyId>();
     }
     m_properties.Add(property);
 }
 public bool HasProperty(PropertyId property)
 {
     if (m_properties != null)
     {
         return(m_properties.Contains(property));
     }
     return(false);
 }
        public BalanceChangeTests()
        {
            this.address  = TestAddress.Mainnet1;
            this.amount   = new PropertyAmount(10);
            this.property = new PropertyId(2);

            this.subject = new BalanceChange(address, amount, property);
        }
Beispiel #10
0
        /// <summary>
        /// Gets the available properties.
        /// </summary>
        /// <param name="propertyId">The property id.</param>
        /// <returns>property values</returns>
        /// <remarks></remarks>
        protected IEnumerable <EnumType> GetSupportedEnumProperties <EnumType>(PropertyId propertyId)
            where EnumType : struct, IConvertible
        {
            IEnumerable <EnumType> uintProperties = GetSupportedProperties(propertyId).Cast <EnumType>();
            IEnumerable <EnumType> enumValues     = EnumUtilities.GetEnumValues <EnumType>();

            return(uintProperties.Intersect <EnumType>(enumValues));
        }
Beispiel #11
0
        /// <summary>
        /// Gets the DateTime property.
        /// </summary>
        /// <param name="propertyId">The property id.</param>
        /// <param name="additionalInformation">Additional information of property.
        /// We use this parameter in order to specify an index.</param>
        /// <returns>property value as UInt32</returns>
        /// <remarks></remarks>
        protected DateTime GetDateTimeProperty(PropertyId propertyId, int additionalInformation = 0)
        {
            Time data = GetTimeProperty(propertyId, additionalInformation);

            DateTime dateTime = new DateTime(data.Year, data.Month, data.Day, data.Hour, data.Minute, data.Second);

            return(dateTime);
        }
Beispiel #12
0
        private void HandlePropertyChangedEvent(object sender, UIA.AutomationPropertyChangedEventArgs automationPropertyChangedEventArgs)
        {
            var basicAutomationElement = new UIA2BasicAutomationElement((UIA2Automation)Automation, (UIA.AutomationElement)sender);
            var senderElement          = new AutomationElement(basicAutomationElement);
            var propertyId             = PropertyId.Find(Automation.AutomationType, automationPropertyChangedEventArgs.Property.Id);

            HandlePropertyChangedEvent(senderElement, propertyId, automationPropertyChangedEventArgs.NewValue);
        }
Beispiel #13
0
 // Token: 0x060006D4 RID: 1748 RVA: 0x00026F0C File Offset: 0x0002510C
 public static string GetPropertyString(PropertyId p)
 {
     if (p < PropertyId.Unknown || (ulong)p >= (ulong)((long)CalendarCommon.propertyStringTable.Length))
     {
         return(null);
     }
     return(CalendarCommon.propertyStringTable[(int)((UIntPtr)p)]);
 }
Beispiel #14
0
        /// <summary>
        /// Check whether boolean property is set to non-default value
        /// </summary>
        /// <param name="propertyId">PropertyId</param>
        /// <returns></returns>
        private bool IsBooleanPropertySet(PropertyId propertyId)
        {
            Debug.Assert((uint)propertyId < (uint)PropertyId.PropertyCount, "Invalid typography property id");

            uint flagMask = (uint)(((uint)1) << ((int)propertyId));

            return((_idPropertySetFlags & flagMask) != 0);
        }
        public AutomationElement FindItemByProperty(AutomationElement startAfter, PropertyId property, object value)
        {
            var foundNativeElement = Com.Call(() =>
                                              NativePattern.FindItemByProperty(
                                                  startAfter?.ToNative(),
                                                  property?.Id ?? 0, ValueConverter.ToNative(value)));

            return(AutomationElementConverter.NativeToManaged((UIA3Automation)FrameworkAutomationElement.Automation, foundNativeElement));
        }
Beispiel #16
0
 // Token: 0x06001C04 RID: 7172 RVA: 0x000D633F File Offset: 0x000D453F
 public void Set(PropertyId id)
 {
     if (id < PropertyId.ListLevel)
     {
         this.Bits1 |= 1U << (int)(id - PropertyId.FontColor);
         return;
     }
     this.Bits2 |= 1U << (int)(id - PropertyId.FontColor - 32);
 }
Beispiel #17
0
 // Token: 0x06001C05 RID: 7173 RVA: 0x000D6378 File Offset: 0x000D4578
 public void Clear(PropertyId id)
 {
     if (id < PropertyId.ListLevel)
     {
         this.Bits1 &= ~(1U << (int)(id - PropertyId.FontColor));
         return;
     }
     this.Bits2 &= ~(1U << (int)(id - PropertyId.FontColor - 32));
 }
Beispiel #18
0
        public Element FindItemByProperty(Element startAfter, PropertyId property, object value)
        {
            var foundNativeElement = ComCallWrapper.Call(() =>
                                                         NativePattern.FindItemByProperty(
                                                             startAfter == null ? null : startAfter.NativeElement,
                                                             property == null ? 0 : property.Id, NativeValueConverter.ToNative(value)));

            return(ToAutomationElement(foundNativeElement));
        }
Beispiel #19
0
        protected static uint ToNative(PropertyId id)
        {
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id));
            }

            return(Convert.ToUInt32(id.Value)); // Don't use cast due to it will not check overflow.
        }
Beispiel #20
0
        public AutomationElement FindItemByProperty(AutomationElement startAfter, PropertyId property, object value)
        {
            var foundNativeElement = ComCallWrapper.Call(() =>
                                                         NativePattern.FindItemByProperty(
                                                             startAfter == null ? null : ValueConverter.ToNative(startAfter),
                                                             property == null ? 0 : property.Id, ValueConverter.ToNative(value)));

            return(ValueConverter.NativeToManaged((UIA3Automation)BasicAutomationElement.Automation, foundNativeElement));
        }
Beispiel #21
0
        public void ToMemberId_returns_the_expected_value()
        {
            // ARRANGE
            var cs = @"
                using System;

                namespace Grynwald.MdDocs.ApiReference.Test.TestData
                {
                    public class Class1
                    {
                        public int Property1 { get; set; }

                        public int this[int foo] { get { throw new NotImplementedException(); } }

                    }
                }
            ";


            using var assembly = Compile(cs);

            var class1 = assembly.MainModule.Types.Single(x => x.Name == "Class1");

            // Property 1
            {
                var expectedMemberId = new PropertyId(
                    class1.ToTypeId(),
                    "Property1"
                    );

                var propertyReference = class1.Properties.Single(p => p.Name == "Property1");

                // ACT
                var actualMemberId = propertyReference.ToMemberId();

                // ASSERT
                Assert.Equal(expectedMemberId, actualMemberId);
            }

            // Indexer
            {
                var expectedMemberId = new PropertyId(
                    class1.ToTypeId(),
                    "Item",
                    new[] { new SimpleTypeId("System", "Int32") }
                    );

                var propertyReference = class1.Properties.Single(p => p.Name == "Item");

                // ACT
                var actualMemberId = propertyReference.ToMemberId();

                // ASSERT
                Assert.Equal(expectedMemberId, actualMemberId);
            }
        }
Beispiel #22
0
 private void StartProperty(string name, PropertyId p)
 {
     this.EndProperty();
     this.AssertValidState(WriteState.Component);
     this.propertyName = name.ToUpper();
     this.valueType    = ContactCommon.GetDefaultValueType(p);
     this.writer.StartProperty(this.propertyName);
     this.firstPropertyValue = true;
     this.state = WriteState.Property;
 }
Beispiel #23
0
        protected override void ProcessProperty(CalendarPropertyBase calendarProperty)
        {
            PropertyId propertyId = calendarProperty.CalendarPropertyId.PropertyId;

            if (propertyId != PropertyId.TimeZoneId)
            {
                return;
            }
            this.timeZoneId = CalendarUtil.RemoveDoubleQuotes((string)calendarProperty.Value);
        }
Beispiel #24
0
        // Token: 0x06000747 RID: 1863 RVA: 0x00028B18 File Offset: 0x00026D18
        public void StartProperty(PropertyId propertyId)
        {
            string propertyString = CalendarCommon.GetPropertyString(propertyId);

            if (propertyString == null)
            {
                throw new ArgumentException(CalendarStrings.InvalidPropertyId);
            }
            this.StartProperty(propertyString);
        }
Beispiel #25
0
        public static CalendarValueType GetDefaultValueType(PropertyId p)
        {
            CalendarValueType result;

            if (CalendarCommon.defaultValueTypeTable.TryGetValue(p, out result))
            {
                return(result);
            }
            return(CalendarValueType.Text);
        }
Beispiel #26
0
        public PropertyTag Decode(BinaryData encodedData)
        {
            var propertyId =
                new PropertyId(encodedData.Take(2).ToInt32());

            var propertyType =
                new PropertyType(encodedData.Take(2, 2).ToInt32());

            return(new PropertyTag(propertyId, propertyType));
        }
Beispiel #27
0
        public T GetPropertyValue <T>(PropertyId property, bool cached)
        {
            var value = InternalGetPropertyValue(property.Id, cached, false);

            if (value == Automation.NotSupportedValue)
            {
                throw new PropertyNotSupportedException(String.Format("Property '{0}' not supported", property.Name), property);
            }
            return(property.Convert <T>(value));
        }
Beispiel #28
0
        // Token: 0x06001BF0 RID: 7152 RVA: 0x000D6030 File Offset: 0x000D4230
        public PropertyValue GetPropertyValue(PropertyId id)
        {
            int num = (int)((id - PropertyId.FirstFlag) * 2);

            if ((this.bits & 2U << num) != 0U)
            {
                return(new PropertyValue(0U != (this.bits & 1U << num)));
            }
            return(PropertyValue.Null);
        }
Beispiel #29
0
 public void GetProperty(Session session,
                         PropertyType propertyType,
                         PropertyId propertyId,
                         uint unitId,
                         BiometricIdentity identity,
                         FingerPosition position,
                         out byte[] propertyBuffer)
 {
     WinBiometric.GetProperty(session, propertyType, propertyId, unitId, identity, position, out propertyBuffer);
 }
Beispiel #30
0
        protected override void ProcessProperty(CalendarPropertyBase calendarProperty)
        {
            PropertyId propertyId = calendarProperty.CalendarPropertyId.PropertyId;

            if (propertyId != PropertyId.Description)
            {
                switch (propertyId)
                {
                case PropertyId.Action:
                    if (string.Compare((string)calendarProperty.Value, "DISPLAY", StringComparison.CurrentCultureIgnoreCase) == 0)
                    {
                        this.action = VAlarmAction.Display;
                        return;
                    }
                    if (string.Compare((string)calendarProperty.Value, "EMAIL", StringComparison.CurrentCultureIgnoreCase) == 0)
                    {
                        this.action = VAlarmAction.Email;
                        return;
                    }
                    if (string.Compare((string)calendarProperty.Value, "AUDIO", StringComparison.CurrentCultureIgnoreCase) == 0)
                    {
                        this.action = VAlarmAction.Display;
                        return;
                    }
                    this.action = VAlarmAction.Unknown;
                    return;

                case PropertyId.Repeat:
                    break;

                case PropertyId.Trigger:
                    this.CheckTriggerArguments(calendarProperty);
                    this.value = calendarProperty.Value;
                    if (this.value != null && typeof(TimeSpan).GetTypeInfo().IsAssignableFrom(this.value.GetType().GetTypeInfo()))
                    {
                        this.valueType = CalendarValueType.Duration;
                        return;
                    }
                    if (this.value != null && typeof(DateTime).GetTypeInfo().IsAssignableFrom(this.value.GetType().GetTypeInfo()))
                    {
                        this.valueType = CalendarValueType.DateTime;
                        return;
                    }
                    this.valueType = calendarProperty.ValueType;
                    return;

                default:
                    return;
                }
            }
            else
            {
                this.message = (string)calendarProperty.Value;
            }
        }
 private IEnumerator PropertyViewChanged(FightStatus fightStatus, PropertyId property)
 {
     if (property == PropertyId.PlaySpellForbidden && fightStatus.TryGetEntity(concernedEntity, out PlayerStatus entityStatus))
     {
         AbstractPlayerUIRework view = entityStatus.view;
         if (null != view)
         {
             yield return(view.UpdateAvailableActions(recomputeSpellCosts: false));
         }
     }
 }
        /// <summary>
        ///     Set/clean flag that property value is non-default
        ///     Used only internally to support quick checks while forming FeatureSet
        ///     
        /// </summary>
        /// <param name="propertyId">Property id</param>
        /// <param name="flagValue">Value of the flag</param>
        private void SetBooleanProperty(PropertyId propertyId, bool flagValue)
        {
            Debug.Assert((uint)propertyId < (uint)PropertyId.PropertyCount, "Invalid typography property id");

            uint flagMask = (uint)(((uint)1) << ((int)propertyId));

            if (flagValue)
                _idPropertySetFlags |= flagMask;
            else
                _idPropertySetFlags &= ~flagMask;

            OnPropertiesChanged();
        }
        /// <summary>
        /// Check whether boolean property is set to non-default value
        /// </summary>
        /// <param name="propertyId">PropertyId</param>
        /// <returns></returns>
        private bool IsBooleanPropertySet(PropertyId propertyId)
        {
            Debug.Assert((uint)propertyId < (uint)PropertyId.PropertyCount, "Invalid typography property id");

            uint flagMask = (uint)(((uint)1) << ((int)propertyId));

            return (_idPropertySetFlags & flagMask) != 0;
        }
 public override List<String[]> GetMultiValue(PropertyId id)
 {
     switch (id)
     {
         case PropertyId.Images:
             return Images;
         case PropertyId.PurchaseAssociatedFiles:
             return PurchaseAssociatedFiles;
         case PropertyId.SaleAssociatedFiles:
             return SaleAssociatedFiles;
         default:
             return null;
     }
 }
        internal static unsafe byte[] GetPropertyBytes(IAssemblyName nameObject, PropertyId propertyId)
        {
            int hr;
            uint size = 0;

            hr = nameObject.GetProperty(propertyId, null, ref size);
            if (hr == 0)
            {
                return null;
            }

            if (hr != ERROR_INSUFFICIENT_BUFFER)
            {
                throw Marshal.GetExceptionForHR(hr);
            }

            byte[] data = new byte[(int)size];
            fixed (byte* p = data)
            {
                hr = nameObject.GetProperty(propertyId, p, ref size);
                if (hr != 0)
                {
                    throw Marshal.GetExceptionForHR(hr);
                }
            }

            return data;
        }
        private static unsafe void SetProperty(IAssemblyName nameObject, PropertyId propertyId, string data)
        {
            if (data == null)
            {
                nameObject.SetProperty(propertyId, null, 0);
            }
            else
            {
                Debug.Assert(data.IndexOf('\0') == -1);

                fixed (char* p = data)
                {
                    Debug.Assert(p[data.Length] == '\0');

                    // size is in bytes, include trailing \0 character:
                    nameObject.SetProperty(propertyId, p, (uint)(data.Length + 1) * 2);
                }
            }
        }
 internal static unsafe bool IsKeyOrTokenEmpty(IAssemblyName nameObject, PropertyId propertyId)
 {
     Debug.Assert(propertyId == PropertyId.NULL_PUBLIC_KEY_TOKEN || propertyId == PropertyId.NULL_PUBLIC_KEY);
     uint size = 0;
     int hr = nameObject.GetProperty(propertyId, null, ref size);
     return hr == 0;
 }
Beispiel #38
0
        public string GetPropertyIdValue(PropertyId id)
        {
            switch (id)
            {
                default:
                    if (BasicInfo.ContainsKey(id))
                        return BasicInfo[id];

                    return null;
            }
        }
Beispiel #39
0
 public static bool IsMultiValue(PropertyId propertyId)
 {
     switch (propertyId)
     {
         case PropertyId.Images:
         case PropertyId.Tasks:
         case PropertyId.CustomerAssociatedFiles:
         case PropertyId.PurchaseAssociatedFiles:
         case PropertyId.CustomerAssociatedVehicles:
         case PropertyId.SaleAssociatedFiles:
             return true;
         default:
             return false;
     }
 }
 public override string GetValue(PropertyId id)
 {
     switch (id)
     {
         case PropertyId.Id:
             return VehicleId;
         default:
             if (_basicInfo.ContainsKey(id))
             {
                 return _basicInfo[id];
             }
             else
             {
                 return null;
             }
     }
 }
        public override void ApplyMultiValue(PropertyId id, XElement element)
        {
            switch (id)
            {
                case PropertyId.PurchaseAssociatedFiles:
                    _purchaseAssociatedFiles.Clear();
                    foreach (XElement descendant in element.Descendants())
                    {
                        string[] multiValueItem = new string[2];
                        multiValueItem[Settings.MultiValueKeyIndex] = descendant.Name.ToString();

                        if (descendant.Value.StartsWith("\\"))
                        {
                            var directoryInfo = new FileInfo(ObjectId).Directory;
                            if (directoryInfo != null)
                                multiValueItem[Settings.MultiValueValueIndex] =
                                    directoryInfo.FullName + descendant.Value;
                        }
                        else
                        {
                            multiValueItem[Settings.MultiValueValueIndex] = descendant.Value;
                        }

                        _purchaseAssociatedFiles.Add(multiValueItem);
                    }
                    break;
                case PropertyId.SaleAssociatedFiles:
                    _saleAssociatedFiles.Clear();
                    foreach (XElement descendant in element.Descendants())
                    {
                        string[] multiValueItem = new string[2];
                        multiValueItem[Settings.MultiValueKeyIndex] = descendant.Name.ToString();

                        if (descendant.Value.StartsWith("\\"))
                        {
                            var directoryInfo = new FileInfo(ObjectId).Directory;
                            if (directoryInfo != null)
                                multiValueItem[Settings.MultiValueValueIndex] =
                                    directoryInfo.FullName + descendant.Value;
                        }
                        else
                        {
                            multiValueItem[Settings.MultiValueValueIndex] = descendant.Value;
                        }

                        _saleAssociatedFiles.Add(multiValueItem);
                    }
                    break;
                case PropertyId.Tasks:
                    VehicleTasks.Clear();
                    foreach (XElement descendant in element.Descendants())
                    {
                        VehicleTask task = CreateTask(descendant);
                        if (!string.IsNullOrEmpty(task.Id))
                            VehicleTasks.Add(task);
                    }
                    break;

                default:
                    Images.Clear();
                    foreach (XElement descendant in element.Descendants())
                    {
                        string[] multiValueItem = new string[2];
                        multiValueItem[Settings.MultiValueKeyIndex] = descendant.Name.ToString();

                        if (descendant.Value.StartsWith("\\"))
                        {
                            var directoryInfo = new FileInfo(ObjectId).Directory;
                            if (directoryInfo != null)
                                multiValueItem[Settings.MultiValueValueIndex] =
                                    directoryInfo.FullName + descendant.Value;
                        }
                        else
                        {
                            multiValueItem[Settings.MultiValueValueIndex] = descendant.Value;
                        }

                        _images.Add(multiValueItem);
                    }
                    break;
            }
        }
Beispiel #42
0
 public IEnumerable<UInt32> GetSettingList(PropertyId propertuId)
 {
     return CameraHandler.GetSettingsList(propertuId);
 }
Beispiel #43
0
 public void ApplyValue(PropertyId id, string value)
 {
     switch (id)
     {
         default:
             if (BasicInfo.ContainsKey(id))
             {
                 BasicInfo[id] = value;
             }
             else
             {
                 BasicInfo.Add(id, value);
             }
             break;
     }
 }
        internal static unsafe string GetPropertyString(IAssemblyName nameObject, PropertyId propertyId)
        {
            byte[] data = GetPropertyBytes(nameObject, propertyId);
            if (data == null)
            {
                return null;
            }

            fixed (byte* p = data)
            {
                return Marshal.PtrToStringUni((IntPtr)p, (data.Length / 2) - 1);
            }
        }
 public PropertyIdAttribute(PropertyId id)
 {
     _propertyId = id;
 }
        internal static unsafe uint? GetPropertyWord(IAssemblyName nameObject, PropertyId propertyId)
        {
            uint result;
            uint size = sizeof(uint);
            int hr = nameObject.GetProperty(propertyId, &result, ref size);
            if (hr != 0)
            {
                throw Marshal.GetExceptionForHR(hr);
            }

            if (size == 0)
            {
                return null;
            }

            return result;
        }
 private static unsafe void SetProperty(IAssemblyName nameObject, PropertyId propertyId, uint data)
 {
     nameObject.SetProperty(propertyId, &data, sizeof(uint));
 }
 private static unsafe void SetProperty(IAssemblyName nameObject, PropertyId propertyId, byte[] data)
 {
     if (data == null)
     {
         nameObject.SetProperty(propertyId, null, 0);
     }
     else
     {
         fixed (byte* p = data)
         {
             nameObject.SetProperty(propertyId, p, (uint)data.Length);
         }
     }
 }
        public override void ApplyMultiValue(PropertyId id, XElement element)
        {
            switch (id)
            {
                case PropertyId.CustomerAssociatedFiles:
                    _associatedFiles.Clear();
                    foreach (XElement descendant in element.Descendants())
                    {
                        string[] multiValueItem = new string[2];
                        multiValueItem[Settings.MultiValueKeyIndex] = descendant.Name.ToString();

                        if (descendant.Value.StartsWith("\\"))
                        {
                            var directoryInfo = new FileInfo(ObjectId).Directory;
                            if (directoryInfo != null)
                                multiValueItem[Settings.MultiValueValueIndex] =
                                    directoryInfo.FullName + descendant.Value;
                        }
                        else
                        {
                            multiValueItem[Settings.MultiValueValueIndex] = descendant.Value;
                        }

                        _associatedFiles.Add(multiValueItem);
                    }
                    break;
                default:
                    VehicleIds.Clear();
                    foreach (XElement descendant in element.Descendants())
                    {
                        string[] multiValueItem = new string[2];
                        multiValueItem[Settings.MultiValueKeyIndex] = descendant.Name.ToString();

                        if (descendant.Value.StartsWith("\\"))
                        {
                            var directoryInfo = new FileInfo(ObjectId).Directory;
                            if (directoryInfo != null)
                                multiValueItem[Settings.MultiValueValueIndex] =
                                    directoryInfo.FullName + descendant.Value;
                        }
                        else
                        {
                            multiValueItem[Settings.MultiValueValueIndex] = descendant.Value;
                        }

                        VehicleIds.Add(multiValueItem);
                    }
                    break;
            }
        }
 public override void ApplyValue(PropertyId id, string value)
 {
     switch (id)
     {
         case PropertyId.FileVersion:
             base.FileVersion = value;
             break;
         default:
             if (BasicInfo.ContainsKey(id))
             {
                 BasicInfo[id] = value;
             }
             else
             {
                 BasicInfo.Add(id, value);
             }
             break;
     }
 }
        public override List<String[]> GetMultiValue(PropertyId id)
        {
            switch (id)
            {
                case PropertyId.CustomerAssociatedFiles:
                    return AssociatedFiles;
                case PropertyId.CustomerAssociatedVehicles:
                    return VehicleIds;

                default:
                    return null;
            }
        }