This commit is contained in:
2020-12-29 20:27:44 +00:00
parent dd1ae6a6ba
commit 67a2308628

View File

@@ -43,7 +43,7 @@ namespace AyaNova.Biz
//
internal async Task<ServiceBank> 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