This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AyaNova.Biz
|
||||
{
|
||||
@@ -30,7 +31,10 @@ namespace AyaNova.Biz
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
internal async Task<string> Translate(string key)
|
||||
{
|
||||
return await TranslationBiz.GetTranslationStaticAsync(key, UserTranslationId, ct);
|
||||
}
|
||||
|
||||
#region Error handling
|
||||
private readonly List<ValidationError> _errors = new List<ValidationError>();
|
||||
|
||||
@@ -299,7 +299,7 @@ namespace AyaNova.Biz
|
||||
{
|
||||
//Note: errorbox will ensure it appears in the general errror box and not field specific
|
||||
//the translation key is to indicate what the linked object is that is causing the error
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", "LT:Customer");
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("Customer"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -266,8 +266,8 @@ namespace AyaNova.Biz
|
||||
|
||||
//PartInventory record?
|
||||
if (await ct.PartInventory.AnyAsync(m => m.PartWarehouseId == inObj.Id))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await TranslationBiz.GetTranslationStaticAsync("PartInventoryTransaction", UserTranslationId, ct));
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PartInventoryTransaction"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ namespace AyaNova.Biz
|
||||
var querySegments = AutoCompleteQuery.Split(' ');
|
||||
if (querySegments.Length > 2)
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "query", "LT:ErrorPickListQueryInvalid");
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "query", await Translate("ErrorPickListQueryInvalid"));
|
||||
return null;
|
||||
}
|
||||
//check the two query segments, it's valid for the user to put the tag first or the template query first
|
||||
@@ -108,7 +108,7 @@ namespace AyaNova.Biz
|
||||
}
|
||||
else
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "query", "LT:ErrorPickListQueryInvalid");
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "query", await Translate("ErrorPickListQueryInvalid"));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -321,7 +321,7 @@ namespace AyaNova.Biz
|
||||
{
|
||||
//Note: errorbox will ensure it appears in the general errror box and not field specific
|
||||
//the translation key is to indicate what the linked object is that is causing the error
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", "LT:NotifySubscription");
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("NotifySubscription"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -205,17 +205,17 @@ namespace AyaNova.Biz
|
||||
//values must add up
|
||||
if (proposedObj.IncidentsBalance != (proposedObj.Incidents + (proposedObj.LastIncidentsBalance ?? 0)))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "generalerror", "LT:ServiceBankIncidentsBalance");
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "generalerror", await Translate("ServiceBankIncidentsBalance"));
|
||||
return;
|
||||
}
|
||||
if (proposedObj.CurrencyBalance != (proposedObj.Currency + (proposedObj.LastCurrencyBalance ?? 0)))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "generalerror", "LT:ServiceBankCurrencyBalance");
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "generalerror", await Translate("ServiceBankCurrencyBalance"));
|
||||
return;
|
||||
}
|
||||
if (proposedObj.HoursBalance != (proposedObj.Hours + (proposedObj.LastHoursBalance ?? 0)))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "generalerror", "LT:ServiceBankHoursBalance");
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "generalerror", await Translate("ServiceBankHoursBalance"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ namespace AyaNova.Biz
|
||||
//Can't delete a unit if it's a shadow unit for a loanunit
|
||||
if (await ct.LoanUnit.AnyAsync(z => z.UnitId == inObj.Id))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", "LT:LoanUnit");
|
||||
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("LoanUnit"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -667,7 +667,7 @@ namespace AyaNova.Biz
|
||||
if (isNew)
|
||||
{
|
||||
//This operation is about to consume one more license, check that we are not at the limit already
|
||||
CheckActiveForValidation(CurrentActiveCount, LicensedUserCount);
|
||||
await CheckActiveForValidation(CurrentActiveCount, LicensedUserCount);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -676,7 +676,7 @@ namespace AyaNova.Biz
|
||||
{
|
||||
//going from non tech to tech and active
|
||||
//Yes, this is about to consume one more license, check that we are not at the limit already
|
||||
CheckActiveForValidation(CurrentActiveCount, LicensedUserCount);
|
||||
await CheckActiveForValidation(CurrentActiveCount, LicensedUserCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -805,11 +805,11 @@ namespace AyaNova.Biz
|
||||
return;
|
||||
}
|
||||
|
||||
private void CheckActiveForValidation(long CurrentActiveCount, long LicensedUserCount)
|
||||
private async Task CheckActiveForValidation(long CurrentActiveCount, long LicensedUserCount)
|
||||
{
|
||||
if (CurrentActiveCount >= LicensedUserCount)
|
||||
{
|
||||
AddError(ApiErrorCode.INVALID_OPERATION, null, "LT:ErrorSecurityUserCapacity");
|
||||
AddError(ApiErrorCode.INVALID_OPERATION, null, await Translate("ErrorSecurityUserCapacity"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -831,7 +831,8 @@ namespace AyaNova.Biz
|
||||
//if (await ct.Event.Select(z => z).Where(z => z.UserId == inObj.Id).Count() > 0)
|
||||
if (await ct.Event.AnyAsync(z => z.UserId == inObj.Id))
|
||||
{
|
||||
AddError(ApiErrorCode.INVALID_OPERATION, null, "LT:ErrorDBForeignKeyViolation");
|
||||
//todo: Hold up, shouldt this be: AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("NotifySubscription"));
|
||||
AddError(ApiErrorCode.INVALID_OPERATION, null, await Translate("ErrorDBForeignKeyViolation"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user