diff --git a/server/AyaNova/biz/PartWarehouseBiz.cs b/server/AyaNova/biz/PartWarehouseBiz.cs index 0d3335ae..eb964335 100644 --- a/server/AyaNova/biz/PartWarehouseBiz.cs +++ b/server/AyaNova/biz/PartWarehouseBiz.cs @@ -155,7 +155,7 @@ namespace AyaNova.Biz AddError(ApiErrorCode.NOT_FOUND); return false; } - await ValidateCanDelete(dbObject); + await ValidateCanDelete(dbObject); if (HasErrors) return false; ct.PartWarehouse.Remove(dbObject); @@ -254,7 +254,7 @@ namespace AyaNova.Biz private async Task ValidateCanDelete(PartWarehouse inObj) { - + //Can't delete the default warehouse if (inObj.Id == 1) { @@ -267,7 +267,7 @@ namespace AyaNova.Biz //PartInventory record? if (await ct.PartInventory.AnyAsync(m => m.PartWarehouseId == inObj.Id)) { - AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", "LT:PartInventoryTransaction"); + AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await TranslationBiz.GetTranslationStaticAsync("PartInventoryTransaction", UserTranslationId, ct)); } } diff --git a/server/AyaNova/biz/TranslationBiz.cs b/server/AyaNova/biz/TranslationBiz.cs index c5a92c8a..5198e058 100644 --- a/server/AyaNova/biz/TranslationBiz.cs +++ b/server/AyaNova/biz/TranslationBiz.cs @@ -372,6 +372,19 @@ namespace AyaNova.Biz } + ///////////////////////////////////////////////////////////////// + // Get translation of one key for specified translation id + // Used for internal error message translation to return + // during object validation etc. Intended to be as efficient as possible + // + internal static async Task GetTranslationStaticAsync(string translationKey, long translationId, AyContext ct) + { +#if (DEBUG) + TrackRequestedKey(translationKey); +#endif + return await ct.TranslationItem.Where(z => z.TranslationId == translationId && z.Key == translationKey).AsNoTracking().Select(z => z.Display).FirstOrDefaultAsync(); + + } /////////////////////////////////////////////////////////////////