Esempio n. 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="QuestionController"/> class.
        /// </summary>
        /// <param name="configurationProvider"></param>
        /// <param name="qnaServiceProvider"></param>
        /// <param name="imageStorageProvider"></param>
        /// <param name="optionsAccessor"></param>
        public QuestionController(IConfigurationDataProvider configurationProvider, IQnaServiceProvider qnaServiceProvider, IImageStorageProvider imageStorageProvider, IOptionsMonitor <BotSettings> optionsAccessor)
        {
            this.configurationProvider = configurationProvider;
            this.qnaServiceProvider    = qnaServiceProvider;
            this.imageStorageProvider  = imageStorageProvider;

            this.options = optionsAccessor.CurrentValue;
            this.appId   = this.options.MicrosoftAppId;
        }
        /// <summary>
        /// Constructor method.
        /// </summary>
        public ImageService(IWebContext context, IBlobsRepository blobsRepository, IStoragePathBuilder storagePathBuilder, IImageStorageProvider imageStorageProvider)
        {
            _context              = context;
            _blobsRepository      = blobsRepository;
            _storagePathBuilder   = storagePathBuilder;
            _imageStorageProvider = imageStorageProvider;

            if (_storagePathBuilder == null)
            {
                throw new ServiceException(nameof(ImageService), new ArgumentNullException(nameof(_storagePathBuilder)));
            }

            if (_imageStorageProvider == null)
            {
                throw new ServiceException(nameof(ImageService), new ArgumentNullException(nameof(_imageStorageProvider)));
            }
        }