CounterManager
public class CounterManager : EntityManager<ICOCounter, long>
{
/// <summary>
/// instance
/// </summary>
public new static CounterManager Instance => Locator.GetServiceNotNull<CounterManager>();
/// <summary>
/// Загрузить или создать новый
/// </summary>
/// <param name="uid">Уникальный идентификатор счетчика</param>
/// <param name="name">Название</param>
/// <param name="mask">Маска в формате string.Format</param>
/// <returns></returns>
public ICOCounter LoadOrCreate(Guid uid, string name = null, string mask = null);
/// <summary>
/// Получить новое значение по максе
/// </summary>
/// <param name="counter">Счетчик</param>
/// <param name="save">Сохранить в базе</param>
/// <param name="checkYear">Сбросить для нового года</param>
/// <param name="args">Дополнительные аргшуметы для маски</param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public string FormatNewValue(ICOCounter counter, bool save = true, bool checkYear = false, params object[] args);
/// <summary>
/// Получить новое значение
/// </summary>
/// <param name="counter">Счетчик</param>
/// <param name="save">Сохранить в базе</param>
/// <param name="checkYear">Сбросить для нового года</param>
/// <returns></returns>
/// <exception cref="ArgumentException"></exception>
[Transaction]
public virtual long GetNewId(ICOCounter counter, bool save = true, bool checkYear = false);
}