Beispiel #1
0
 public PictureService(IAQFileProvider fileProvider,
                       IWebHelper webHelper,
                       MediaSettings mediaSettings)
 {
     _fileProvider  = fileProvider;
     _mediaSettings = mediaSettings;
 }
 public FileStreamService(IOptions <ApiServer> apiServerOptions,
                          IOptions <AdminPortalApiUrl> _adminPortalApiUrlOptions,
                          IAQFileProvider aQFileProvider
                          ) : base()
 {
     _aPIExcute            = new APIExcute(AuthenticationType.Basic);
     _baseFileStreamAPIUrl = apiServerOptions.Value.AQFileStreamApi.GetCurrentServer();
     _aQFileProvider       = aQFileProvider;
 }
        /// <summary>
        /// Save data settings to the file
        /// </summary>
        /// <param name="settings">Data settings</param>
        /// <param name="fileProvider">File provider</param>
        public static void SaveSettings(DataSettings settings, IAQFileProvider fileProvider = null)
        {
            Singleton <DataSettings> .Instance = settings ?? throw new ArgumentNullException(nameof(settings));

            fileProvider = fileProvider ?? CommonHelper.DefaultFileProvider;
            var filePath = fileProvider.MapPath(AQDataSettingsDefaults.FilePath);

            //create file if not exists
            fileProvider.CreateFile(filePath);

            //save data settings to the file
            var text = JsonConvert.SerializeObject(Singleton <DataSettings> .Instance, Formatting.Indented);

            fileProvider.WriteAllText(filePath, text, Encoding.UTF8);
        }
Beispiel #4
0
 public FileService(
     AQ_FileStreamsContext dataContext,
     IPictureService pictureService,
     IAQFileProvider aqFileProvider,
     IWebHelper webHelper,
     IHostingEnvironment hostingEnvironment,
     IConfiguration configuaration)
 {
     this._pictureService     = pictureService;
     this._aqFileProvider     = aqFileProvider;
     this._hostingEnvironment = hostingEnvironment;
     this._webHelper          = webHelper;
     this._dataContext        = dataContext;
     host = configuaration.GetValue <string>("Host");
 }
Beispiel #5
0
 public PostController(IPostService postService,
                       ICommonLanguageService commonLanguageService,
                       IPostCategoryService postCategoryService,
                       IUserService userService,
                       ISelectListService selectListService,
                       IFileStreamService fileStreamService,
                       IOptions <CommonSettings> commonSettingsOptions,
                       IAQFileProvider aQFileProvider
                       )
 {
     _postService           = postService;
     _commonLanguageService = commonLanguageService;
     _postCategoryService   = postCategoryService;
     _userService           = userService;
     _selectListService     = selectListService;
     _fileStreamService     = fileStreamService;
     _commonSettings        = commonSettingsOptions.Value;
     _aQFileProvider        = aQFileProvider;
 }
        /// <summary>
        /// Load data settings
        /// </summary>
        /// <param name="filePath">File path; pass null to use the default settings file</param>
        /// <param name="reloadSettings">Whether to reload data, if they already loaded</param>
        /// <param name="fileProvider">File provider</param>
        /// <returns>Data settings</returns>
        public static DataSettings LoadSettings(string filePath = null, bool reloadSettings = false, IAQFileProvider fileProvider = null)
        {
            if (!reloadSettings && Singleton <DataSettings> .Instance != null)
            {
                return(Singleton <DataSettings> .Instance);
            }

            fileProvider = fileProvider ?? CommonHelper.DefaultFileProvider;
            filePath     = filePath ?? fileProvider.MapPath(AQDataSettingsDefaults.FilePath);

            //check whether file exists
            if (!fileProvider.FileExists(filePath))
            {
                //if not, try to parse the file that was used in previous nopCommerce versions
                filePath = fileProvider.MapPath(AQDataSettingsDefaults.ObsoleteFilePath);
                if (!fileProvider.FileExists(filePath))
                {
                    return(new DataSettings());
                }

                //get data settings from the old txt file
                var dataSettings = new DataSettings();
                using (var reader = new StringReader(fileProvider.ReadAllText(filePath, Encoding.UTF8)))
                {
                    string settingsLine;
                    while ((settingsLine = reader.ReadLine()) != null)
                    {
                        var separatorIndex = settingsLine.IndexOf(':');
                        if (separatorIndex == -1)
                        {
                            continue;
                        }

                        var key   = settingsLine.Substring(0, separatorIndex).Trim();
                        var value = settingsLine.Substring(separatorIndex + 1).Trim();

                        switch (key)
                        {
                        case "DataProvider":
                            dataSettings.DataProvider = Enum.TryParse(value, true, out DataProviderType providerType) ? providerType : DataProviderType.Unknown;
                            continue;

                        case "DataConnectionString":
                            dataSettings.DataConnectionString = value;
                            continue;

                        default:
                            dataSettings.RawDataSettings.Add(key, value);
                            continue;
                        }
                    }
                }

                //save data settings to the new file
                SaveSettings(dataSettings, fileProvider);

                //and delete the old one
                fileProvider.DeleteFile(filePath);

                Singleton <DataSettings> .Instance = dataSettings;
                return(Singleton <DataSettings> .Instance);
            }

            var text = fileProvider.ReadAllText(filePath, Encoding.UTF8);

            if (string.IsNullOrEmpty(text))
            {
                return(new DataSettings());
            }

            //get data settings from the JSON file
            Singleton <DataSettings> .Instance = JsonConvert.DeserializeObject <DataSettings>(text);

            return(Singleton <DataSettings> .Instance);
        }