This commit is contained in:
@@ -273,10 +273,10 @@ namespace AyaNova.Biz
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item.Override == 0)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Override");
|
||||
if (item.OverrideType == ContractOverrideType.NotSet)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].OverrideType");
|
||||
if (item.Override == 0)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Override");
|
||||
if (item.OverrideType == ContractOverrideType.NotSet)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].OverrideType");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,10 +305,10 @@ namespace AyaNova.Biz
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item.Override == 0)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Override");
|
||||
if (item.OverrideType == ContractOverrideType.NotSet)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].OverrideType");
|
||||
if (item.Override == 0)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Override");
|
||||
if (item.OverrideType == ContractOverrideType.NotSet)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].OverrideType");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,15 +337,52 @@ namespace AyaNova.Biz
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item.Override == 0)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Override");
|
||||
if (item.OverrideType == ContractOverrideType.NotSet)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].OverrideType");
|
||||
if (item.Override == 0)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Override");
|
||||
if (item.OverrideType == ContractOverrideType.NotSet)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].OverrideType");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//VALIDATE CONTRACT RATE / PART ITEMS
|
||||
if (proposedObj.ServiceRateItems.Count ==0)
|
||||
{
|
||||
if(proposedObj.ContractServiceRatesOnly){
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, $"ContractRatesOnly");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
List<string> allTags = new List<string>();
|
||||
|
||||
for (int i = 0; i < proposedObj.ContractPartOverrideItems.Count; i++)
|
||||
{
|
||||
var item = proposedObj.ContractPartOverrideItems[i];
|
||||
if (item.Tags.Count < 1)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Tags");
|
||||
else
|
||||
{
|
||||
//add to list, check for dupes
|
||||
foreach (string s in item.Tags)
|
||||
{
|
||||
if (allTags.Contains(s))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, $"ContractPartOverrideItems[{i}].Tags");
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
allTags.Add(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item.Override == 0)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].Override");
|
||||
if (item.OverrideType == ContractOverrideType.NotSet)
|
||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, $"ContractPartOverrideItems[{i}].OverrideType");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,9 @@ namespace AyaNova.Models
|
||||
[Required]
|
||||
public TimeSpan ResponseTime { get; set; }
|
||||
[Required]
|
||||
public bool ContractRatesOnly { get; set; }
|
||||
public bool ContractServiceRatesOnly { get; set; }
|
||||
[Required]
|
||||
public bool ContractTravelRatesOnly { get; set; }
|
||||
[Required]
|
||||
public decimal PartsOverride { get; set; }
|
||||
[Required]
|
||||
|
||||
@@ -200,6 +200,8 @@
|
||||
"ContractOverrideType": "Preisanpassungsart",
|
||||
"ContractOverrideTypePriceDiscount": "Preis minus Prozentsatz",
|
||||
"ContractOverrideTypeMarkup": "Kosten plus Prozentsatz",
|
||||
"ContractServiceRatesOnly":"Nur auf Vertragsservicetarife beschränkt",
|
||||
"ContractTravelRatesOnly":"Nur für vertraglich vereinbarte Reisetarife",
|
||||
"CoordinateTypesDecimalDegrees": "Dezimalgrad (DDD,ddd°)",
|
||||
"CoordinateTypesDegreesDecimalMinutes": "Grad Minuten (DDD° MM,mmm)",
|
||||
"CoordinateTypesDegreesMinutesSeconds": "Grad Minuten Sekunden (DDD° MM' SS,sss')",
|
||||
|
||||
@@ -200,6 +200,8 @@
|
||||
"ContractOverrideType": "Price adjustment type",
|
||||
"ContractOverrideTypePriceDiscount": "Price minus percentage",
|
||||
"ContractOverrideTypeMarkup": "Cost plus percentage",
|
||||
"ContractServiceRatesOnly":"Restricted to contract Service rates only",
|
||||
"ContractTravelRatesOnly":"Restricted to contract Travel rates only",
|
||||
"CoordinateTypesDecimalDegrees": "Decimal degrees (DDD.ddd°)",
|
||||
"CoordinateTypesDegreesDecimalMinutes": "Degrees minutes (DDD° MM.mmm)",
|
||||
"CoordinateTypesDegreesMinutesSeconds": "Degrees Minutes Seconds (DDD° MM' SS.sss')",
|
||||
|
||||
@@ -200,6 +200,8 @@
|
||||
"ContractOverrideType": "Tipo de ajuste de precio",
|
||||
"ContractOverrideTypePriceDiscount": "Precio menos porcentaje",
|
||||
"ContractOverrideTypeMarkup": "Costo más porcentaje",
|
||||
"ContractServiceRatesOnly":"Restringido a tarifas de servicio contratadas únicamente",
|
||||
"ContractTravelRatesOnly":"Restringido a contratar tarifas de viaje únicamente",
|
||||
"CoordinateTypesDecimalDegrees": "Grados decimales (GGG,ggg°)",
|
||||
"CoordinateTypesDegreesDecimalMinutes": "Grados minutos (GGG° MM,mmm)",
|
||||
"CoordinateTypesDegreesMinutesSeconds": "Grados Minutos Segundos (GGG° MM' SS,sss')",
|
||||
|
||||
@@ -200,6 +200,8 @@
|
||||
"ContractOverrideType": "Type d'ajustement de prix",
|
||||
"ContractOverrideTypePriceDiscount": "Prix moins pourcentage",
|
||||
"ContractOverrideTypeMarkup": "Coût plus pourcentage",
|
||||
"ContractServiceRatesOnly":"Limité aux tarifs de service contractuels uniquement",
|
||||
"ContractTravelRatesOnly":"Limité aux tarifs contractuels de voyage uniquement",
|
||||
"CoordinateTypesDecimalDegrees": "Degrés décimaux (DDD,ddd°)",
|
||||
"CoordinateTypesDegreesDecimalMinutes": "Degrés minutes (DDD° MM,mmm)",
|
||||
"CoordinateTypesDegreesMinutesSeconds": "Degrés Minutes Secondes (DDD° MM' SS,sss')",
|
||||
|
||||
@@ -657,7 +657,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
|
||||
//CONTRACT
|
||||
await ExecQueryAsync("CREATE TABLE acontract (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name TEXT NOT NULL UNIQUE, active BOOL NOT NULL, "
|
||||
+ "notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY, "
|
||||
+ "responsetime INTERVAL NOT NULL, contractratesonly BOOL NOT NULL, partsoverride DECIMAL(5,5) NOT NULL, partsoverridetype INTEGER NOT NULL, "
|
||||
+ "responsetime INTERVAL NOT NULL, contractserviceratesonly BOOL NOT NULL, contracttravelratesonly BOOL NOT NULL, partsoverride DECIMAL(5,5) NOT NULL, partsoverridetype INTEGER NOT NULL, "
|
||||
+ "serviceratesoverride DECIMAL(5,5) NOT NULL, serviceratesoverridetype INTEGER NOT NULL, travelratesoverride DECIMAL(5,5) NOT NULL, travelratesoverridetype INTEGER NOT NULL, "
|
||||
+ "alertnotes text "
|
||||
+ ")");
|
||||
|
||||
Reference in New Issue
Block a user