
using CloudBuilder.Core.Service;
using CloudBuilder.Security.Data;
using CloudBuilder.Security.Entity;
using CloudBuilder.Security.SearchCriteria;
using Microsoft.AspNetCore.Mvc;

namespace CloudBuilder.Security.Service
{
    public  interface ISecurityGeneratorNumberService :IServiceBase<SecurityGeneratorNumberEntity, int ,SecurityGeneratorNumberSearchCriteria>
    {
        SecurityGeneratorNumberResultData FindBySearchCriteria(SecurityGeneratorNumberSearchCriteria tc);
        dynamic PrintBySearchCriteria(SecurityGeneratorNumberSearchCriteria tc);
        string GetNo(string systemId, string subsystemId);
        string GetNo(string systemId, string subsystemId, string prefix);
        string GetNo(string systemId, string subsystemId, string prefix, string refreshPeriod, string format);

        int GetNextId(string systemId, string subsystemId);
        int GetNextId(string systemId, string subsystemId, string prefix);
        int GetNextId(string systemId, string subsystemId, string prefix, string format);
        int GetNextId(string systemId, string subsystemId, string prefix, string format, int length);
    }
}
