/// <summary> /// Save plugins info to the file /// </summary> public virtual async Task SaveAsync() { //save the file var filePath = _fileProvider.MapPath(NopPluginDefaults.PluginsInfoFilePath); var text = JsonConvert.SerializeObject(this, Formatting.Indented); await _fileProvider.WriteAllTextAsync(filePath, text, Encoding.UTF8); }
/// <summary> /// Save app settings to the file /// </summary> /// <param name="appSettings">App settings</param> /// <param name="fileProvider">File provider</param> public static async Task SaveAppSettingsAsync(AppSettings appSettings, INopFileProvider fileProvider = null) { Singleton <AppSettings> .Instance = appSettings ?? throw new ArgumentNullException(nameof(appSettings)); fileProvider ??= CommonHelper.DefaultFileProvider; //create file if not exists var filePath = fileProvider.MapPath(NopConfigurationDefaults.AppSettingsFilePath); fileProvider.CreateFile(filePath); //check additional configuration parameters var additionalData = JsonConvert.DeserializeObject <AppSettings>(await fileProvider.ReadAllTextAsync(filePath, Encoding.UTF8))?.AdditionalData; appSettings.AdditionalData = additionalData; //save app settings to the file var text = JsonConvert.SerializeObject(appSettings, Formatting.Indented); await fileProvider.WriteAllTextAsync(filePath, text, Encoding.UTF8); }