internal void Insert(Ex12RenEntryIdStrategy.PersistenceId persistenceId, byte[] entryId)
 {
     Ex12ExRenEntryParser.ExFolderEntry exFolderEntry = new Ex12ExRenEntryParser.ExFolderEntry(1, entryId, 0, 0);
     if (!this.ReplaceEntryBlock(persistenceId, exFolderEntry))
     {
         this.InsertEntryBlock(persistenceId, exFolderEntry);
     }
 }
        private static void DebugCheckReplaceBlob(byte[] newBlob, Ex12RenEntryIdStrategy.PersistenceId persistenceId, byte[] entryId)
        {
            Ex12ExRenEntryParser ex12ExRenEntryParser = new Ex12ExRenEntryParser(newBlob);

            ex12ExRenEntryParser.Parse();
            ex12ExRenEntryParser.GetEntryId(persistenceId);
            for (int i = 0; i < entryId.Length; i++)
            {
            }
        }
        private void InsertEntryBlock(Ex12RenEntryIdStrategy.PersistenceId persistenceId, Ex12ExRenEntryParser.ExFolderEntry exFolderEntry)
        {
            this.defaultFolderRenEx[(ushort)persistenceId] = exFolderEntry;
            int num = (this.entryBlob == null) ? 0 : this.entryBlob.Length;
            int num2;
            int num3;

            byte[] array = exFolderEntry.ToBlock(persistenceId, out num2, out num3);
            this.entryBlob      = Ex12ExRenEntryParser.ReplaceBlob(this.entryBlob, 0, 0, array);
            exFolderEntry.Start = num + num2;
            exFolderEntry.End   = num + array.Length;
        }
 internal bool Remove(Ex12RenEntryIdStrategy.PersistenceId persistenceId)
 {
     Ex12ExRenEntryParser.ExFolderEntry exFolderEntry = null;
     if (this.defaultFolderRenEx.TryGetValue((ushort)persistenceId, out exFolderEntry))
     {
         int start = exFolderEntry.Start - 4;
         this.entryBlob = Ex12ExRenEntryParser.ReplaceBlob(this.entryBlob, start, exFolderEntry.End, Array <byte> .Empty);
         this.defaultFolderRenEx.Clear();
         this.Parse();
         return(true);
     }
     return(false);
 }
 private bool ReplaceEntryBlock(Ex12RenEntryIdStrategy.PersistenceId persistenceId, Ex12ExRenEntryParser.ExFolderEntry exFolderEntry)
 {
     Ex12ExRenEntryParser.ExFolderEntry exFolderEntry2 = null;
     if (this.defaultFolderRenEx.TryGetValue((ushort)persistenceId, out exFolderEntry2))
     {
         byte[] array = exFolderEntry.ToBytes();
         if (array.Length == exFolderEntry2.End - exFolderEntry2.Start)
         {
             exFolderEntry.Start = exFolderEntry2.Start;
             exFolderEntry.End   = array.Length + exFolderEntry.Start;
             this.defaultFolderRenEx[(ushort)persistenceId] = exFolderEntry;
             this.entryBlob = Ex12ExRenEntryParser.ReplaceBlob(this.entryBlob, exFolderEntry2.Start, exFolderEntry2.End, array);
             return(true);
         }
     }
     return(false);
 }
            internal byte[] ToBlock(Ex12RenEntryIdStrategy.PersistenceId persistenceId, out int entryStart, out int entryEnd)
            {
                MemoryStream memoryStream = new MemoryStream();
                int          num          = Marshal.SizeOf(typeof(ushort));

                using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
                {
                    binaryWriter.Seek(2 * num, SeekOrigin.Begin);
                    entryStart = (int)binaryWriter.BaseStream.Position;
                    binaryWriter.Write(this.ElementId);
                    binaryWriter.Write((ushort)this.EntryId.Length);
                    binaryWriter.Write(this.EntryId);
                    entryEnd = (int)binaryWriter.BaseStream.Position;
                    int num2 = (int)binaryWriter.BaseStream.Position - 2 * num;
                    binaryWriter.Seek(0, SeekOrigin.Begin);
                    binaryWriter.Write((ushort)persistenceId);
                    binaryWriter.Write((ushort)num2);
                }
                return(memoryStream.ToArray());
            }
 internal byte[] GetEntryId(Ex12RenEntryIdStrategy.PersistenceId persistenceId)
 {
     return(this.GetExFolderEntry((ushort)persistenceId).EntryId);
 }
 internal Ex12RenEntryIdStrategy(StorePropertyDefinition property, LocationEntryIdStrategy.GetLocationPropertyBagDelegate getLocationPropertyBag, Ex12RenEntryIdStrategy.PersistenceId persistenceId) : base(property, getLocationPropertyBag)
 {
     this.persistenceId = persistenceId;
 }