From 67a2308628418837f47e28f83f63507bf9f590cd Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 29 Dec 2020 20:27:44 +0000 Subject: [PATCH] --- server/AyaNova/biz/ServiceBankBiz.cs | 30 ++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/server/AyaNova/biz/ServiceBankBiz.cs b/server/AyaNova/biz/ServiceBankBiz.cs index 21935d1e..ddeb7f4e 100644 --- a/server/AyaNova/biz/ServiceBankBiz.cs +++ b/server/AyaNova/biz/ServiceBankBiz.cs @@ -43,7 +43,7 @@ namespace AyaNova.Biz // internal async Task CreateAsync(ServiceBank newObject) { - await ValidateAsync(newObject, null); + await ValidateAsync(newObject); if (HasErrors) return null; else @@ -105,15 +105,33 @@ namespace AyaNova.Biz //VALIDATION // - private async Task ValidateAsync(ServiceBank proposedObj, ServiceBank currentObj) + private async Task ValidateAsync(ServiceBank proposedObj) { - bool isNew = currentObj == null; - //Name required if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); + /* + "CONSTRAINT CHK_Servicebank_Valid_IncidentBalance CHECK(incidentsbalance >= 0 AND (incidentsbalance = COALESCE(lastincidentsbalance, 0) + incidents)), " + + "CONSTRAINT CHK_Servicebank_Valid_CurrencyBalance CHECK(currencybalance >= 0 AND (currencybalance = COALESCE(lastcurrencybalance, 0) + currency)), " + + "CONSTRAINT CHK_Servicebank_Valid_HoursBalance CHECK(hoursbalance >= 0 AND (hoursbalance = COALESCE(lasthoursbalance, 0) + hours)), " + + "CONSTRAINT CHK_ServiceBank_Valid_Dates_Sequence CHECK(lastentrydate < entrydate), " + + "CONSTRAINT CHK_ServiceBank_Valid_Previous_Columns CHECK((lastentrydate IS NULL AND lastincidentsbalance IS NULL AND lastcurrencybalance IS NULL AND lasthoursbalance IS NULL) OR (lastentrydate IS NOT NULL AND lastincidentsbalance IS NOT NULL AND lastcurrencybalance IS NOT NULL AND lasthoursbalance IS NOT NULL)) "+ + */ + +//New entry must have *something* to bank +if(proposedObj.Incidents==0 && proposedObj.Hours==0 && proposedObj.Currency==0){ + AddError(ApiErrorCode.INVALID_OPERATION,null,"") +} + + if (!( + (proposedObj.IncidentsBalance >= 0) + && (proposedObj.IncidentsBalance== proposedObj.LastIncidentsBalance + proposedObj.Incidents))) + { + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE); + } + //Any form customizations to validate? @@ -124,12 +142,12 @@ namespace AyaNova.Biz //validate users choices for required non custom fields RequiredFieldsValidator.Validate(this, FormCustomization, proposedObj); - + } } - + //////////////////////////////////////////////////////////////////////////////////////////////// //REPORTING