Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AccountController"/> class.
        /// </summary>
        /// <param name="userInfo">The user information.</param>
        /// <param name="userAccountService">The user account service.</param>
        /// <param name="razorEngine">The razor engine.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="serviceProvider">The service provider.</param>
        /// <param name="provider">The provider.</param>
        public AccountController(IUserInfo userInfo, IUserAccountService userAccountService,
                                 IRazorLightEngine razorEngine, IOptions <AppSettings> settings,
                                 IServiceProvider serviceProvider,
                                 IDataProtectionProvider provider)
            : base(userInfo)
        {
            _appSettings        = settings.Value;
            _userAccountService = userAccountService;

            var watcher = new RealTimeUserAccountEventsHandler(serviceProvider);

            watcher.Event += HandleChange;
            _userAccountService.AddEventHandler(watcher);

            _protector = provider.CreateProtector(GetType().FullName);
        }