/// <summary> /// コンストラクタ /// </summary> public PlatypusLogicBase(ICommonDiLogic commonDiLogic) { //ロガーのDI logger = commonDiLogic.DynamicLoggerDi(this); // Controller を経由せずに DI されると commonDiLogic.DynamicMultiTenancyLogicDi() は null を返却するので注意すること。 this.multiTenancyLogic = commonDiLogic.DynamicMultiTenancyLogicDi(); this.CommonDiLogic = commonDiLogic; }
/// <summary> /// コンストラクタ /// </summary> public PlatypusApiControllerBase(IHttpContextAccessor accessor) : base() { var provider = accessor.HttpContext.RequestServices; //ロガーのDI ILoggerFactory loggerFactory = (ILoggerFactory)provider.GetService(typeof(ILoggerFactory)); logger = loggerFactory.CreateLogger(this.GetType()); IMultiTenancyLogic multiTenancyLogic = (IMultiTenancyLogic)provider.GetService(typeof(IMultiTenancyLogic)); CurrentUserInfo = multiTenancyLogic.CurrentUserInfo; }
public AccountController( ILoginLogic loginLogic, IUserRepository userRepository, IMultiTenancyLogic multiTenancyLogic, IUnitOfWork unitOfWork, IOptions <WebSecurityOptions> webSecurityOptions, IHttpContextAccessor accessor) : base(accessor) { this.loginLogic = loginLogic; this.userRepository = userRepository; this.multiTenancyLogic = multiTenancyLogic; this.unitOfWork = unitOfWork; this.webSecurityOptions = webSecurityOptions.Value; }