// Decompiled with JetBrains decompiler // Type: Microsoft.InfoCards.LedgerEntryCollection // Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // MVID: ADE0A079-11DB-4A46-8BDE-D2A592CA8DEA // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Virus.Win32.Expiro.w-1f15ee7e9f7da02b6bfb4c5a5e6484eb9fa71b82d3699c54bcc7a31794b4a66d.exe using Microsoft.InfoCards.Diagnostics; using System; using System.Collections.Generic; using System.IO; using System.Text; namespace Microsoft.InfoCards { internal class LedgerEntryCollection : Dictionary { private Uri m_infoCardId; private LedgerEntryCollection() { } public void Add(LedgerEntry entry) => this[entry.Recipient.RecipientId] = entry; public LedgerEntryCollection(Uri infoCardId) => this.m_infoCardId = infoCardId; public void Get(StoreConnection con) { InfoCardTrace.Assert((Uri) null != this.m_infoCardId, "The infocard id must be specified prior to executing this operation"); ICollection dataRows = con.Query(QueryDetails.FullRow, new QueryParameter("ix_objecttype", new object[1] { (object) -1 }), new QueryParameter("ix_parentid", new object[1] { (object) GlobalId.DeriveFrom(this.m_infoCardId.ToString()) })); if (dataRows == null || dataRows.Count <= 0) return; foreach (DataRow dataRow in (List) dataRows) { LedgerEntry ledgerEntry = new LedgerEntry((Stream) new MemoryStream(dataRow.GetDataField()), con); this[ledgerEntry.Recipient.RecipientId] = ledgerEntry; } } public void Serialize(Stream stream) { BinaryWriter writer = new BinaryWriter(stream, Encoding.Unicode); writer.Write(this.Count); foreach (KeyValuePair keyValuePair in (Dictionary) this) keyValuePair.Value.Serialize(writer); } public void Save(StoreConnection con) { InfoCardTrace.Assert((Uri) null != this.m_infoCardId, "The infocard id must be specified prior to executing this operation"); foreach (KeyValuePair keyValuePair in (Dictionary) this) { LedgerEntry ledgerEntry = keyValuePair.Value; if (ledgerEntry.IsDirty) ledgerEntry.Save(con); } } } }