Browse Source

fix: enable filter filtering

pull/618/head
cKey 4 years ago
parent
commit
2eefa08232
  1. 17
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/TextAppService.cs

17
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/TextAppService.cs

@ -56,20 +56,24 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
if (input.ResourceName.IsNullOrWhiteSpace()) if (input.ResourceName.IsNullOrWhiteSpace())
{ {
foreach (var resource in _localizationOptions.Resources) var filterResources = _localizationOptions.Resources
.WhereIf(!input.Filter.IsNullOrWhiteSpace(), x => x.Value.ResourceName.Contains(input.Filter));
foreach (var resource in filterResources)
{ {
result.AddRange(GetTextDifferences(resource.Value, input.CultureName, input.TargetCultureName, input.OnlyNull)); result.AddRange(GetTextDifferences(resource.Value, input.CultureName, input.TargetCultureName, input.Filter, input.OnlyNull));
} }
} }
else else
{ {
var resource = _localizationOptions.Resources var resource = _localizationOptions.Resources
.Where(l => l.Value.ResourceName.Equals(input.ResourceName)) .Where(l => l.Value.ResourceName.Equals(input.ResourceName))
.WhereIf(!input.Filter.IsNullOrWhiteSpace(), x => x.Value.ResourceName.Contains(input.Filter))
.Select(l => l.Value) .Select(l => l.Value)
.FirstOrDefault(); .FirstOrDefault();
if (resource != null) if (resource != null)
{ {
result.AddRange(GetTextDifferences(resource, input.CultureName, input.TargetCultureName, input.OnlyNull)); result.AddRange(GetTextDifferences(resource, input.CultureName, input.TargetCultureName, input.Filter, input.OnlyNull));
} }
} }
@ -80,6 +84,7 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
LocalizationResource resource, LocalizationResource resource,
string cultureName, string cultureName,
string targetCultureName, string targetCultureName,
string filter = null,
bool? onlyNull = null) bool? onlyNull = null)
{ {
var result = new List<TextDifferenceDto>(); var result = new List<TextDifferenceDto>();
@ -90,7 +95,8 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
using (CultureHelper.Use(cultureName)) using (CultureHelper.Use(cultureName))
{ {
localizedStrings = localizer.GetAllStrings(true); localizedStrings = localizer.GetAllStrings(true)
.WhereIf(!filter.IsNullOrWhiteSpace(), x => x.Name.Contains(filter));
} }
if (Equals(cultureName, targetCultureName)) if (Equals(cultureName, targetCultureName))
@ -101,7 +107,8 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{ {
using (CultureHelper.Use(targetCultureName)) using (CultureHelper.Use(targetCultureName))
{ {
targetLocalizedStrings = localizer.GetAllStrings(true); targetLocalizedStrings = localizer.GetAllStrings(true)
.WhereIf(!filter.IsNullOrWhiteSpace(), x => x.Name.Contains(filter));
} }
} }

Loading…
Cancel
Save