Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public override DocumentSequence GetOrCreateSequence(string typeOf, Func <DocumentSequence> func)
        {
            DocumentSequence sequence = GetSequence(typeOf);

            if (!sequence.Exists)
            {
                sequence = func();
            }

            return(sequence);
        }
Ejemplo n.º 3
0
        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.");
            }
        }
Ejemplo n.º 4
0
 public override void Set(DocumentSequence sequence)
 {
     Database.Set(CacheOf(sequence), sequence);
 }