From 426fd8c7ae02be307a1a120b6a1d947254e2ebfe Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Fri, 19 Jun 2026 22:53:20 +0330 Subject: [PATCH] last ... --- Providers/XSubCategoryProvider.cs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Providers/XSubCategoryProvider.cs b/Providers/XSubCategoryProvider.cs index 0ecee9d..dec1c89 100644 --- a/Providers/XSubCategoryProvider.cs +++ b/Providers/XSubCategoryProvider.cs @@ -747,7 +747,7 @@ namespace xCategoryService.Providers // Add Descriptions ... await descriptionResourceProvider.AddOrUpdateLocale( identifier: id, - locale: locale, + locale: desLocale, connectionId: null, cancellationToken: cancellationToken ); @@ -782,6 +782,10 @@ namespace xCategoryService.Providers { // // Handle Update ... + result = await GetResource( + id: id, + cancellationToken: cancellationToken + ); // #region Remove ... @@ -823,7 +827,12 @@ namespace xCategoryService.Providers // // Titles ... var updateTitles = result.Titles.Locales.Where( - l => resource.Titles.Locales.Any(r => r.Language.Equals(l.Language, System.StringComparison.InvariantCultureIgnoreCase)) + l => resource.Titles.Locales.Any(r => + r.Value + .Equals(l.Value, StringComparison.InvariantCultureIgnoreCase) && + r.Language + .Equals(l.Language, StringComparison.InvariantCultureIgnoreCase) + ) ); foreach (var locale in updateTitles) { @@ -839,7 +848,11 @@ namespace xCategoryService.Providers // // Descriptions ... var updateDescriptions = result.Descriptions.Locales.Where( - l => resource.Descriptions.Locales.Any(r => r.Language.Equals(l.Language, System.StringComparison.InvariantCultureIgnoreCase)) + l => resource.Descriptions.Locales.Any(r => + r.Value + .Equals(l.Value, StringComparison.InvariantCultureIgnoreCase) && + r.Language + .Equals(l.Language, StringComparison.InvariantCultureIgnoreCase)) ); foreach (var locale in updateDescriptions) { @@ -858,7 +871,7 @@ namespace xCategoryService.Providers // // Titles ... var newTitles = resource.Titles.Locales.Where( - l => !result.Titles.Locales.Any(r => r.Language.Equals(l.Language, System.StringComparison.InvariantCultureIgnoreCase)) + l => !result.Titles.Locales.Any(r => r.Language.Equals(l.Language, StringComparison.InvariantCultureIgnoreCase)) ); foreach (var locale in newTitles) { @@ -874,7 +887,7 @@ namespace xCategoryService.Providers // // Descriptions ... var newDescriptions = resource.Descriptions.Locales.Where( - l => !result.Descriptions.Locales.Any(r => r.Language.Equals(l.Language, System.StringComparison.InvariantCultureIgnoreCase)) + l => !result.Descriptions.Locales.Any(r => r.Language.Equals(l.Language, StringComparison.InvariantCultureIgnoreCase)) ); foreach (var locale in newDescriptions) { @@ -929,7 +942,6 @@ namespace xCategoryService.Providers // return result; } - /// /// Get All Resources as Async Enumerable ... ///