Example #1
0
 /// <summary>
 ///     Коммит тринзакции в бинарный журнал
 /// </summary>
 /// <param name="transaction"></param>
 public void Transaction(VcsStorageTransaction transaction)
 {
     lock (_lock) {
         IncrementElements();
         BinLog.Add(GenerateNode(transaction));
     }
 }
Example #2
0
 /// <summary>
 ///     Производит прокатку записи журнала на диск
 /// </summary>
 private void Dump()
 {
     Engine.Set(
         new FileDescriptor {
         Path = Path.Combine(VcsStorageDefaults.BinLogDirectory, BinLogGuid + "." + VcsStorageDefaults.BinLogExtension)
     },
         VcsStorageUtils.StringToStream(BinLog.ToString())
         );
 }
Example #3
0
        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);
            }
        }
Example #4
0
 /// <summary>
 ///     Увеличивает внутренний счётчик количества элементов на единицу
 /// </summary>
 private void IncrementElements()
 {
     BinLog.SetAttributeValue("LogElements", BinLog.Attribute("LogElements").Value.ToInt() + 1);
 }