public void RegisterPackageUse(PackageIdentity package, ServerTaskId deploymentTaskId, ulong packageSizeBytes) { try { using (AcquireSemaphore()) { journalRepository.Load(); journalRepository.Cache.IncrementCacheAge(); var age = journalRepository.Cache.CacheAge; if (journalRepository.TryGetJournalEntry(package, out var entry)) { entry.AddUsage(deploymentTaskId, age); entry.AddLock(deploymentTaskId, age); } else { entry = new JournalEntry(package, packageSizeBytes); entry.AddUsage(deploymentTaskId, age); entry.AddLock(deploymentTaskId, age); journalRepository.AddJournalEntry(entry); } log.Verbose($"Registered package use/lock for {package} and task {deploymentTaskId}"); journalRepository.Commit(); } } catch (Exception ex) { //We need to ensure that an issue with the journal doesn't interfere with the deployment. log.Info($"Unable to register package use for retention.{Environment.NewLine}{ex.ToString()}"); } }
public bool Update(Journal model) { var updateEntity = _repository.GetById(model.Id); updateEntity.Amount = model.Amount; updateEntity.Status = model.Status; updateEntity.Note = model.Note; var user = this.GetUserFromToken(); updateEntity.Modified = DateTime.Now; updateEntity.ModifiedBy = user.Id; return(_repository.Commit()); }