コード例 #1
0
        /// <summary>
        /// Delete a locale resource
        /// </summary>
        /// <param name="plugin">Plugin</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageService">Language service</param>
        /// <param name="resourceName">Resource name</param>
        public static async Task DeletePluginLocaleResource(this BasePlugin plugin,
                                                            ILocalizationService localizationService, ILanguageService languageService,
                                                            string resourceName)
        {
            //actually plugin instance is not required
            if (plugin == null)
            {
                throw new ArgumentNullException("plugin");
            }
            if (localizationService == null)
            {
                throw new ArgumentNullException("localizationService");
            }
            if (languageService == null)
            {
                throw new ArgumentNullException("languageService");
            }
            if (string.IsNullOrEmpty(resourceName))
            {
                resourceName = resourceName.ToLowerInvariant();
            }
            foreach (var lang in await languageService.GetAllLanguages(true))
            {
                var lsr = await localizationService.GetLocaleStringResourceByName(resourceName, lang.Id, false);

                if (lsr != null)
                {
                    await localizationService.DeleteLocaleStringResource(lsr);
                }
            }
        }
        /// <summary>
        /// Delete a locale resource
        /// </summary>
        /// <param name="plugin">Plugin</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageService">Language service</param>
        /// <param name="resourceName">Resource name</param>
        public static void DeletePluginLocaleResource(this BasePlugin plugin,
                                                      ILocalizationService localizationService, ILanguageService languageService,
                                                      string resourceName)
        {
            //actually plugin instance is not required
            if (plugin == null)
            {
                throw new ArgumentNullException(nameof(plugin));
            }
            if (localizationService == null)
            {
                throw new ArgumentNullException(nameof(localizationService));
            }
            if (languageService == null)
            {
                throw new ArgumentNullException(nameof(languageService));
            }

            foreach (var lang in languageService.GetAllLanguages(true))
            {
                var lsr = localizationService.GetLocaleStringResourceByName(resourceName, lang.Id, false);
                if (lsr != null)
                {
                    localizationService.DeleteLocaleStringResource(lsr);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Delete a localized name of a permission
        /// </summary>
        /// <param name="permissionRecord">Permission record</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageService">Language service</param>
        public static async Task DeleteLocalizedPermissionName(this PermissionRecord permissionRecord,
                                                               ILocalizationService localizationService, ILanguageService languageService)
        {
            if (permissionRecord == null)
            {
                throw new ArgumentNullException("permissionRecord");
            }
            if (localizationService == null)
            {
                throw new ArgumentNullException("localizationService");
            }
            if (languageService == null)
            {
                throw new ArgumentNullException("languageService");
            }

            string resourceName = string.Format("Permission.{0}", permissionRecord.SystemName);

            foreach (var lang in await languageService.GetAllLanguages(true))
            {
                var lsr = await localizationService.GetLocaleStringResourceByName(resourceName, lang.Id, false);

                if (lsr != null)
                {
                    localizationService.DeleteLocaleStringResource(lsr).Wait();
                }
            }
        }
        /// <summary>
        /// Delete a localized name of a permission
        /// </summary>
        /// <param name="permissionRecord">Permission record</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageService">Language service</param>
        public static void DeleteLocalizedPermissionName(this PermissionRecord permissionRecord,
                                                         ILocalizationService localizationService, ILanguageService languageService)
        {
            if (permissionRecord == null)
            {
                throw new ArgumentNullException(nameof(permissionRecord));
            }
            if (localizationService == null)
            {
                throw new ArgumentNullException(nameof(localizationService));
            }
            if (languageService == null)
            {
                throw new ArgumentNullException(nameof(languageService));
            }

            var resourceName = $"Permission.{permissionRecord.SystemName}";

            foreach (var lang in languageService.GetAllLanguages(true))
            {
                var lsr = localizationService.GetLocaleStringResourceByName(resourceName, lang.Id, false);
                if (lsr != null)
                {
                    localizationService.DeleteLocaleStringResource(lsr);
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// Delete a localized name of a permission
        /// </summary>
        /// <param name="permissionRecord">Permission record</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageService">Language service</param>
        public static void DeleteLocalizedPermissionName(this PermissionRecord permissionRecord,
                                                         ILocalizationService localizationService)
        {
            if (permissionRecord == null)
            {
                throw new ArgumentNullException("permissionRecord");
            }
            if (localizationService == null)
            {
                throw new ArgumentNullException("localizationService");
            }
            //if (languageService == null)
            //    throw new ArgumentNullException("languageService");

            string resourceName = string.Format("Permission.{0}", permissionRecord.SystemName);
            //foreach (var lang in languageService.GetAllLanguages(true))
            //{
            var lsr = localizationService.GetLocaleStringResourceByName(resourceName, 1, false);

            if (lsr != null)
            {
                localizationService.DeleteLocaleStringResource(lsr);
            }
            //}
        }
コード例 #6
0
        /// <summary>
        /// Save localized friendly name of a plugin
        /// </summary>
        /// <typeparam name="T">Plugin</typeparam>
        /// <param name="plugin">Plugin</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageId">Language identifier</param>
        /// <param name="localizedFriendlyName">Localized friendly name</param>
        public static void SaveLocalizedFriendlyName <T>(this T plugin,
                                                         ILocalizationService localizationService, int languageId,
                                                         string localizedFriendlyName)
            where T : IPlugin
        {
            if (localizationService == null)
            {
                throw new ArgumentNullException("localizationService");
            }

            if (languageId == 0)
            {
                throw new ArgumentOutOfRangeException("languageId", "Language ID should not be 0");
            }

            if (plugin == null)
            {
                throw new ArgumentNullException("plugin");
            }

            if (plugin.PluginDescriptor == null)
            {
                throw new ArgumentException("Plugin descriptor cannot be loaded");
            }

            string systemName = plugin.PluginDescriptor.SystemName;
            //localized value
            string resourceName = string.Format("Plugins.FriendlyName.{0}", systemName);
            var    resource     = localizationService.GetLocaleStringResourceByName(resourceName, languageId, false);

            if (resource != null)
            {
                if (string.IsNullOrWhiteSpace(localizedFriendlyName))
                {
                    //delete
                    localizationService.DeleteLocaleStringResource(resource);
                }
                else
                {
                    //update
                    resource.ResourceValue = localizedFriendlyName;
                    localizationService.UpdateLocaleStringResource(resource);
                }
            }
            else
            {
                if (!string.IsNullOrWhiteSpace(localizedFriendlyName))
                {
                    //insert
                    resource = new LocaleStringResource
                    {
                        LanguageId    = languageId,
                        ResourceName  = resourceName,
                        ResourceValue = localizedFriendlyName,
                    };
                    localizationService.InsertLocaleStringResource(resource);
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// Save localized plugin descriptor value
        /// </summary>
        /// <param name="descriptor">Plugin</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageId">Language identifier</param>
        /// <param name="propertyName">Name of the property</param>
        /// <param name="value">Localized value</param>
        public static void SaveLocalizedValue(this PluginDescriptor descriptor, ILocalizationService localizationService, int languageId,
                                              string propertyName, string value)
        {
            if (localizationService == null)
            {
                throw new ArgumentNullException(nameof(localizationService));
            }

            if (languageId == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(languageId), "Language ID should not be 0");
            }

            if (descriptor == null)
            {
                throw new ArgumentNullException(nameof(descriptor));
            }

            if (propertyName == null)
            {
                throw new ArgumentNullException(nameof(propertyName));
            }

            string systemName   = descriptor.SystemName;
            string resourceName = string.Format("Plugins.{0}.{1}", propertyName, systemName);
            var    resource     = localizationService.GetLocaleStringResourceByName(resourceName, languageId, false);

            if (resource != null)
            {
                if (string.IsNullOrWhiteSpace(value))
                {
                    //delete
                    localizationService.DeleteLocaleStringResource(resource);
                }
                else
                {
                    //update
                    resource.ResourceValue = value;
                    localizationService.UpdateLocaleStringResource(resource);
                }
            }
            else
            {
                if (!string.IsNullOrWhiteSpace(value))
                {
                    //insert
                    resource = new LocaleStringResource()
                    {
                        LanguageId    = languageId,
                        ResourceName  = resourceName,
                        ResourceValue = value,
                    };
                    localizationService.InsertLocaleStringResource(resource);
                }
            }
        }
コード例 #8
0
        public ActionResult ResourceDelete(long id)
        {
            var resource = _localizationService.GetLocaleStringResourceById(id);

            if (resource == null)
            {
                throw new ArgumentException("No resource found with the specified id");
            }
            _localizationService.DeleteLocaleStringResource(resource);

            return(new NullJsonResult());
        }
コード例 #9
0
 private void DeleteLocaleResources()
 {
     foreach (var lang in _languageService.GetAllLanguages(true))
     {
         var localeStringResources = _localizationService.GetAllResources(lang.Id)
                                     .Where(x => x.ResourceName.StartsWith("Plugins.Misc.Watermark."));
         foreach (LocaleStringResource lsr in localeStringResources)
         {
             _localizationService.DeleteLocaleStringResource(lsr);
         }
     }
 }
コード例 #10
0
        public ActionResult ResourceDelete(int id)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages))
                return AccessDeniedView();

            var resource = _localizationService.GetLocaleStringResourceById(id);
            if (resource == null)
                throw new ArgumentException("No resource found with the specified id");
            _localizationService.DeleteLocaleStringResource(resource);

            return new NullJsonResult();
        }
コード例 #11
0
        public ActionResult ResourceDelete(int id, int languageId, GridCommand command)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages))
            {
                return(AccessDeniedView());
            }

            var resource = _localizationService.GetLocaleStringResourceById(id);

            _localizationService.DeleteLocaleStringResource(resource);

            return(Resources(languageId, command));
        }
コード例 #12
0
        public virtual IActionResult ResourceDelete(int id)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages))
            {
                return(AccessDeniedView());
            }

            //try to get a locale resource with the specified id
            var resource = _localizationService.GetLocaleStringResourceById(id)
                           ?? throw new ArgumentException("No resource found with the specified id", nameof(id));

            _localizationService.DeleteLocaleStringResource(resource);

            return(new NullJsonResult());
        }
コード例 #13
0
        public IActionResult ResourceDelete(string id)
        {
            var resource = _localizationService.GetLocaleStringResourceById(id);

            if (resource == null)
            {
                throw new ArgumentException("No resource found with the specified id");
            }
            if (ModelState.IsValid)
            {
                _localizationService.DeleteLocaleStringResource(resource);
                return(new NullJsonResult());
            }
            return(ErrorForKendoGridJson(ModelState));
        }
コード例 #14
0
 private LocaleStringHelper <LocaleStringResource> ResourceHelper()
 {
     return(new LocaleStringHelper <LocaleStringResource>
            (
                GetType().Assembly,
                from lang in _languageService.GetAllLanguages() select(lang.Id, lang.LanguageCulture),
                (resourceName, languageId) => _localizationService.GetLocaleStringResourceByName(resourceName, languageId, false),
                (languageId, resourceName, resourceValue) => new LocaleStringResource {
         LanguageId = languageId, ResourceName = resourceName, ResourceValue = resourceValue
     },
                (lsr) => _localizationService.InsertLocaleStringResource(lsr),
                (lsr, resourceValue) => { lsr.ResourceValue = resourceValue; _localizationService.UpdateLocaleStringResource(lsr); },
                (lsr) => _localizationService.DeleteLocaleStringResource(lsr),
                (lsr, resourceValue) => lsr.ResourceValue == resourceValue
            ));
 }
コード例 #15
0
        public ActionResult ResourceDelete(int id, int languageId)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages))
            {
                return(AccessDeniedView());
            }

            var resource = _localizationService.GetLocaleStringResourceById(id);

            if (resource == null)
            {
                throw new ArgumentException("No resource found with the specified id");
            }
            _localizationService.DeleteLocaleStringResource(resource);
            return(Json(new { Result = true }, JsonRequestBehavior.AllowGet));
            // return Resources(languageId);
        }
コード例 #16
0
        public ActionResult ResourceDelete(int id, int languageId, GridCommand command)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages))
            {
                return(AccessDeniedView());
            }

            var resource = _localizationService.GetLocaleStringResourceById(id);

            if (resource == null)
            {
                throw new ArgumentException("No resource found with the specified id");
            }
            _localizationService.DeleteLocaleStringResource(resource);

            return(Resources(languageId, command));
        }
コード例 #17
0
        public virtual ActionResult ResourceDelete(int id)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages))
            {
                return(AccessDeniedView());
            }

            var resource = _localizationService.GetLocaleStringResourceById(id);

            if (resource == null)
            {
                throw new ArgumentException("未找到具有指定ID的资源");
            }

            _localizationService.DeleteLocaleStringResource(resource);

            return(new NullJsonResult());
        }
コード例 #18
0
        //#region Language

        ///// <summary>
        ///// Deletes a language
        ///// </summary>
        ///// <param name="language">Language</param>
        //public void DeleteLanguage(Language language)
        //{
        //    _languageService.DeleteLanguage(language);
        //}

        ///// <summary>
        ///// Gets all languages
        ///// </summary>
        ///// <param name="storeId">Load records allowed only in a specified store; pass 0 to load all records</param>
        ///// <param name="showHidden">A value indicating whether to show hidden records</param>
        ///// <returns>Languages</returns>
        //public IList<Language> GetAllLanguages(bool showHidden = false, int storeId = 0)
        //{
        //    return _languageService.GetAllLanguages(showHidden, storeId);
        //}

        ///// <summary>
        ///// Gets a language
        ///// </summary>
        ///// <param name="languageId">Language identifier</param>
        ///// <returns>Language</returns>
        //public Language GetLanguageById(int languageId)
        //{
        //    return _languageService.GetLanguageById(languageId);
        //}

        ///// <summary>
        ///// Inserts a language
        ///// </summary>
        ///// <param name="language">Language</param>
        //public void InsertLanguage(Language language)
        //{
        //    _languageService.InsertLanguage(language);
        //}

        ///// <summary>
        ///// Updates a language
        ///// </summary>
        ///// <param name="language">Language</param>
        //public void UpdateLanguage(Language language)
        //{
        //    _languageService.UpdateLanguage(language);
        //}

        //#endregion

        #region Localization

        /// <summary>
        /// Deletes a locale string resource
        /// </summary>
        /// <param name="localeStringResource">Locale string resource</param>
        public void DeleteLocaleStringResource(LocaleStringResource localeStringResource)
        {
            _localizationService.DeleteLocaleStringResource(localeStringResource);
        }
コード例 #19
0
ファイル: LocalizationExtensions.cs プロジェクト: wzh9801/src
        /// <summary>
        /// Save localized friendly name of a plugin
        /// </summary>
        /// <typeparam name="T">Plugin</typeparam>
        /// <param name="plugin">Plugin</param>
        /// <param name="localizationService">Localization service</param>
        /// <param name="languageId">Language identifier</param>
        /// <param name="localizedFriendlyName">Localized friendly name</param>
        public static void SaveLocalizedFriendlyName <T>(this T plugin,
                                                         ILocalizationService localizationService, int languageId,
                                                         string localizedFriendlyName)
            where T : IPlugin
        {
            if (localizationService == null)
            {
                throw new ArgumentNullException(nameof(localizationService));
            }

            if (languageId == 0)
            {
                throw new ArgumentOutOfRangeException("languageId", "Language ID should not be 0");
            }

            if (plugin == null)
            {
                throw new ArgumentNullException(nameof(plugin));
            }

            if (plugin.PluginDescriptor == null)
            {
                throw new ArgumentException("Plugin descriptor cannot be loaded");
            }

            var systemName = plugin.PluginDescriptor.SystemName;
            //localized value
            var resourceName = $"{NopLocalizationDefaults.PluginNameLocaleStringResourcesPrefix}{systemName}";
            var resource     = localizationService.GetLocaleStringResourceByName(resourceName, languageId, false);

            if (resource != null)
            {
                if (string.IsNullOrWhiteSpace(localizedFriendlyName))
                {
                    //delete
                    localizationService.DeleteLocaleStringResource(resource);
                }
                else
                {
                    //update
                    resource.ResourceValue = localizedFriendlyName;
                    localizationService.UpdateLocaleStringResource(resource);
                }
            }
            else
            {
                if (string.IsNullOrWhiteSpace(localizedFriendlyName))
                {
                    return;
                }

                //insert
                resource = new LocaleStringResource
                {
                    LanguageId    = languageId,
                    ResourceName  = resourceName,
                    ResourceValue = localizedFriendlyName,
                };
                localizationService.InsertLocaleStringResource(resource);
            }
        }