using AutoMapper;
using Microsoft.Extensions.Localization;
using MS.Common.IDCode;
using MS.Component.Jwt.UserClaim;
using MS.DbContexts;
using MS.UnitOfWork;

namespace MS.Services
{
    public interface IBaseService
    {
    }
    public class BaseService : IBaseService
    {
        public readonly IUnitOfWork<MSDbContext> _unitOfWork;
        public readonly IUnitOfWork<AccountingContext> _AccountingContext;
        public readonly IUnitOfWork<SQLiteContext> _SQLiteContext;
        public readonly IUnitOfWork<AuthContext> _AuthContext;
        public readonly IMapper _mapper;
        public readonly IdWorker _idWorker;
        public readonly IClaimsAccessor _claimsAccessor;
        public readonly IStringLocalizer _localizer;

        public BaseService(IUnitOfWork<MSDbContext> unitOfWork, IMapper mapper, IdWorker idWorker, IClaimsAccessor claimsAccessor, IStringLocalizer localizer, IUnitOfWork<AccountingContext> accountingContext, IUnitOfWork<SQLiteContext> SQLiteContext, IUnitOfWork<AuthContext> AuthContext)
        {
            _unitOfWork = unitOfWork;
            _mapper = mapper;
            _idWorker = idWorker;
            _claimsAccessor = claimsAccessor;
            _localizer = localizer;
            _AccountingContext = accountingContext;
            _SQLiteContext = SQLiteContext;
            _AuthContext = AuthContext;
        }
    }
}
