/// <summary> /// Коммит тринзакции в бинарный журнал /// </summary> /// <param name="transaction"></param> public void Transaction(VcsStorageTransaction transaction) { lock (_lock) { IncrementElements(); BinLog.Add(GenerateNode(transaction)); } }
/// <summary> /// Производит прокатку записи журнала на диск /// </summary> private void Dump() { Engine.Set( new FileDescriptor { Path = Path.Combine(VcsStorageDefaults.BinLogDirectory, BinLogGuid + "." + VcsStorageDefaults.BinLogExtension) }, VcsStorageUtils.StringToStream(BinLog.ToString()) ); }
private void AddNewBinLog(Bin updatedBin, DateTime dt) { BinLog bLog = new BinLog(); bLog.BinId = updatedBin.BinId; bLog.CurrentCapacity = updatedBin.CurrentCapacity; bLog.UpdateDate = dt; try { this.db.BinLogs.Add(bLog); this.db.SaveChanges(); } catch (Exception ex) { throw ErrorHandler.Handle(ex, this); } }
/// <summary> /// Увеличивает внутренний счётчик количества элементов на единицу /// </summary> private void IncrementElements() { BinLog.SetAttributeValue("LogElements", BinLog.Attribute("LogElements").Value.ToInt() + 1); }