protected virtual SequenceItem[] GetSequences(ISession session) { ICriteria query = session.CreateCriteria(typeof(SequenceItem)); IList <SequenceItem> items = query.List <SequenceItem>(); SequenceItem[] result = new SequenceItem[items.Count]; items.CopyTo(result, 0); return(result); }
protected virtual bool RemoveSequence(ISession session, string sequenceId) { SequenceItem item = session.Get <SequenceItem>(sequenceId); if (item != null) { session.Delete(item); } return(item != null); }
protected virtual void SetSequence(ISession session, string sequenceId, int value, string rule) { SequenceItem item = session.Get <SequenceItem>(sequenceId); if (item == null) { item = new SequenceItem(); item.SequenceId = sequenceId; item.Value = value; item.Rule = rule; item.LastChange = DateTime.Now; session.Save(item); } else { item.Value = value; item.Rule = rule; item.LastChange = DateTime.Now; session.Update(item); } }
protected virtual int?GetNext(ISession session, string sequenceId) { SequenceItem item = session.Get <SequenceItem>(sequenceId); if (item == null) { return(null); } int result = item.Value; ISequenceRule rule; if (item.Rule == null || !rules.TryGetValue(item.Rule, out rule)) { rule = standardRule; } item.Value = rule.GetNext(result); item.LastChange = DateTime.Now; session.Update(item); return(result); }
protected virtual SequenceItem GetSequence(ISession session, string sequenceId) { SequenceItem item = session.Get <SequenceItem>(sequenceId); return(item); }