public override void Set(DocumentSequence sequence) { var options = new MemoryCacheEntryOptions() .SetPriority(CacheItemPriority.NeverRemove); options.AddExpirationToken(new CancellationChangeToken(_resetCacheToken.Token)); Cache.Set(CacheOf(sequence), Serializer.Serialize(sequence), options); }
public override DocumentSequence GetOrCreateSequence(string typeOf, Func <DocumentSequence> func) { DocumentSequence sequence = GetSequence(typeOf); if (!sequence.Exists) { sequence = func(); } return(sequence); }
private DocumentSequence Initialize(DocumentType documentType) { switch (documentType) { case DocumentType.Order: var documentSequence = new DocumentSequence { DocumentSequenceId = Guid.NewGuid().ToString(), CurrentSequenceNumber = 0, DocumentPrefix = "", DocumentType = DocumentType.Order, SequenceLength = 4, SequenceNumberLastResetOn = DateTime.Now }; _databaseContext.DocumentSequences.Add(documentSequence); _databaseContext.SaveChanges(); return(documentSequence); default: throw new NotImplementedException("Document number configuration not found."); } }
public override void Set(DocumentSequence sequence) { Database.Set(CacheOf(sequence), sequence); }