diff --git a/server/AyaNova/biz/CustomFieldsValidator.cs b/server/AyaNova/biz/CustomFieldsValidator.cs index 92de86af..89fe0ec6 100644 --- a/server/AyaNova/biz/CustomFieldsValidator.cs +++ b/server/AyaNova/biz/CustomFieldsValidator.cs @@ -32,7 +32,7 @@ namespace AyaNova.Biz if (ThisFormCustomFieldsList.Contains(fldKey) && fldRequired == true) { //Ok, this field is required but custom fields are all empty so add this error - biz.AddError(ValidationErrorType.CustomRequiredPropertyEmpty, fldKey); + biz.AddError(ApiErrorCode.VALIDATION_CUSTOM_REQUIRED_EMPTY, fldKey); } } @@ -67,7 +67,7 @@ namespace AyaNova.Biz var fldRequired = jo["required"].Value(); if (fldRequired && string.IsNullOrWhiteSpace(CurrentValue)) { - biz.AddError(ValidationErrorType.CustomRequiredPropertyEmpty, iFldKey); + biz.AddError(ApiErrorCode.VALIDATION_CUSTOM_REQUIRED_EMPTY, iFldKey); } break; } @@ -77,7 +77,7 @@ namespace AyaNova.Biz else { //This is a serious issue and invalidates all - biz.AddError(ValidationErrorType.RequiredPropertyMissing, iFldKey); + biz.AddError(ApiErrorCode.VALIDATION_MISSING_PROPERTY, iFldKey); } } diff --git a/server/AyaNova/biz/DataFilterBiz.cs b/server/AyaNova/biz/DataFilterBiz.cs index f43f067a..3ee6e651 100644 --- a/server/AyaNova/biz/DataFilterBiz.cs +++ b/server/AyaNova/biz/DataFilterBiz.cs @@ -220,20 +220,20 @@ namespace AyaNova.Biz if (!isNew) { if (inObj.OwnerId == 0) - AddError(ValidationErrorType.RequiredPropertyEmpty, "OwnerId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "OwnerId"); } // //Owner must be current user, there are no exceptions // if (inObj.OwnerId != UserId) - // AddError(ValidationErrorType.InvalidValue, "OwnerId", "OwnerId must be current user Id"); + // AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "OwnerId", "OwnerId must be current user Id"); //Name required if (string.IsNullOrWhiteSpace(inObj.Name)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Name"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); //Name must be less than 255 characters if (inObj.Name.Length > 255) - AddError(ValidationErrorType.LengthExceeded, "Name", "255 max"); + AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "Name", "255 max"); //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) @@ -241,21 +241,21 @@ namespace AyaNova.Biz //Use Any command is efficient way to check existance, it doesn't return the record, just a true or false if (ct.DataFilter.Any(m => m.Name == inObj.Name && m.Id != inObj.Id)) { - AddError(ValidationErrorType.NotUnique, "Name"); + AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name"); } } if (string.IsNullOrWhiteSpace(inObj.ListKey)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "ListKey"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "ListKey"); FilterOptions ListValidFilterOptions = FilterOptionsFromListKey.Get(inObj.ListKey); if (ListValidFilterOptions == null) { - AddError(ValidationErrorType.InvalidValue, "ListKey", $"ListKey \"{inObj.ListKey}\" is empty or in-valid"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "ListKey", $"ListKey \"{inObj.ListKey}\" is empty or in-valid"); } if (inObj.ListKey.Length > 255) - AddError(ValidationErrorType.LengthExceeded, "ListKey", "255 max"); + AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "ListKey", "255 max"); //Filter json must parse if (!string.IsNullOrWhiteSpace(inObj.Filter)) @@ -267,12 +267,12 @@ namespace AyaNova.Biz { var filterItem = v[i]; if (filterItem["fld"] == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, object is missing required \"fld\" property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Filter", $"Filter array item {i}, object is missing required \"fld\" property "); else { var fld = filterItem["fld"].Value(); if (string.IsNullOrWhiteSpace(fld)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, \"fld\" property is empty and required"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Filter", $"Filter array item {i}, \"fld\" property is empty and required"); //validate the field name if we can if (ListValidFilterOptions != null) @@ -280,29 +280,29 @@ namespace AyaNova.Biz if (!ListValidFilterOptions.Flds.Exists(x => x.Fld == fld)) { - AddError(ValidationErrorType.InvalidValue, "Filter", $"Filter array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Filter", $"Filter array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified"); } } } if (filterItem["op"] == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, object is missing required \"op\" property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Filter", $"Filter array item {i}, object is missing required \"op\" property "); else { var opType = filterItem["op"].Value(); if (!FilterComparisonOperator.Operators.Contains(opType)) - AddError(ValidationErrorType.InvalidValue, "Filter", $"Filter array item {i}, \"op\" property value of \"{opType}\" is not a valid FilterComparisonOperator type"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Filter", $"Filter array item {i}, \"op\" property value of \"{opType}\" is not a valid FilterComparisonOperator type"); } if (filterItem["value"] == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, object is missing or is empty the required \"value\" property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Filter", $"Filter array item {i}, object is missing or is empty the required \"value\" property "); else { if (filterItem["value"].Type == JTokenType.String && string.IsNullOrWhiteSpace(filterItem["value"].Value())) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, object is missing or is empty the required \"value\" property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Filter", $"Filter array item {i}, object is missing or is empty the required \"value\" property "); if (filterItem["value"].Type == JTokenType.Array && filterItem["value"].Count() == 0) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, object is missing or is empty the required \"value\" property ARRAY "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Filter", $"Filter array item {i}, object is missing or is empty the required \"value\" property ARRAY "); } @@ -311,7 +311,7 @@ namespace AyaNova.Biz } catch (Newtonsoft.Json.JsonReaderException ex) { - AddError(ValidationErrorType.InvalidValue, "Filter", "Filter is not valid JSON string: " + ex.Message); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Filter", "Filter is not valid JSON string: " + ex.Message); } } @@ -328,12 +328,12 @@ namespace AyaNova.Biz { var sortItem = v[i]; if (sortItem["fld"] == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Sort", $"Sort array item {i}, object is missing required \"fld\" property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Sort", $"Sort array item {i}, object is missing required \"fld\" property "); else { var fld = sortItem["fld"].Value(); if (string.IsNullOrWhiteSpace(fld)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Sort", $"Sort array item {i}, \"fld\" property is empty and required"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Sort", $"Sort array item {i}, \"fld\" property is empty and required"); //validate the field name if we can if (ListValidFilterOptions != null) @@ -341,25 +341,25 @@ namespace AyaNova.Biz if (!ListValidFilterOptions.Flds.Exists(x => x.Fld == fld)) { - AddError(ValidationErrorType.InvalidValue, "Sort", $"Sort array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Sort", $"Sort array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified"); } } } if (sortItem["dir"] == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Sort", $"Sort array item {i}, object is missing required \"dir\" sort direction property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Sort", $"Sort array item {i}, object is missing required \"dir\" sort direction property "); else { var sortDir = sortItem["dir"].Value(); if (sortDir != "+" && sortDir != "-") - AddError(ValidationErrorType.InvalidValue, "Sort", $"Sort array item {i}, \"dir\" property value of \"{sortDir}\" is not a valid sort direction value, must be \"+\" or \"-\" only"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Sort", $"Sort array item {i}, \"dir\" property value of \"{sortDir}\" is not a valid sort direction value, must be \"+\" or \"-\" only"); } //NOTE: value of nothing, null or empty is a valid value so no checking for it here } } catch (Newtonsoft.Json.JsonReaderException ex) { - AddError(ValidationErrorType.InvalidValue, "Sort", "Sort is not valid JSON string: " + ex.Message); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Sort", "Sort is not valid JSON string: " + ex.Message); } } diff --git a/server/AyaNova/biz/FormCustomBiz.cs b/server/AyaNova/biz/FormCustomBiz.cs index 2046d494..a17c6a8b 100644 --- a/server/AyaNova/biz/FormCustomBiz.cs +++ b/server/AyaNova/biz/FormCustomBiz.cs @@ -142,27 +142,27 @@ namespace AyaNova.Biz if (!isNew) { if (inObj.OwnerId == 0) - AddError(ValidationErrorType.RequiredPropertyEmpty, "OwnerId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "OwnerId"); } // //Owner must be current user, there are no exceptions // if (inObj.OwnerId != UserId) - // AddError(ValidationErrorType.InvalidValue, "OwnerId", "OwnerId must be current user Id"); + // AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "OwnerId", "OwnerId must be current user Id"); //FormKey required and must be valid if (string.IsNullOrWhiteSpace(inObj.FormKey)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "FormKey"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "FormKey"); else { if (!FormAvailableFields.IsValidFormKey(inObj.FormKey)) { - AddError(ValidationErrorType.InvalidValue, "FormKey"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "FormKey"); } } //FormKey must be less than 255 characters if (inObj.FormKey.Length > 255) - AddError(ValidationErrorType.LengthExceeded, "FormKey", "255 max"); + AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "FormKey", "255 max"); //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("FormKey") && isNew) @@ -170,7 +170,7 @@ namespace AyaNova.Biz //Use Any command is efficient way to check existance, it doesn't return the record, just a true or false if (ct.FormCustom.Any(m => m.FormKey == inObj.FormKey && m.Id != inObj.Id)) { - AddError(ValidationErrorType.NotUnique, "FormKey"); + AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "FormKey"); } } @@ -192,12 +192,12 @@ namespace AyaNova.Biz var formFieldItem = v[i]; if (formFieldItem["fld"] == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Template", $"Template array item {i}, object is missing required \"fld\" property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Template", $"Template array item {i}, object is missing required \"fld\" property "); else { var fldKey = formFieldItem["fld"].Value(); if (string.IsNullOrWhiteSpace(fldKey)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Template", $"Template array item {i}, \"fld\" property is empty and required"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Template", $"Template array item {i}, \"fld\" property is empty and required"); //validate the field name if we can if (ValidFormFields != null) @@ -205,7 +205,7 @@ namespace AyaNova.Biz if (!ValidFormFields.Exists(x => x.Key == fldKey)) { - AddError(ValidationErrorType.InvalidValue, "Template", $"Template array item {i}, fld property value \"{fldKey}\" is not a valid form field value for formKey specified"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Template", $"Template array item {i}, fld property value \"{fldKey}\" is not a valid form field value for formKey specified"); } else { @@ -223,25 +223,25 @@ namespace AyaNova.Biz { var fieldHideValue = formFieldItem["hide"].Value(); if (!MasterFormField.Hideable && fieldHideValue == true) - AddError(ValidationErrorType.InvalidValue, "Template", $"Template array item {i}, \"hide\" property value of \"{fieldHideValue}\" is not valid, this field is core and cannot be hidden"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Template", $"Template array item {i}, \"hide\" property value of \"{fieldHideValue}\" is not valid, this field is core and cannot be hidden"); } if (formFieldItem["type"] != null) { if (!MasterFormField.Custom) - AddError(ValidationErrorType.InvalidValue, "Template", $"Template array item {i}, \"type\" property value is not valid, only Custom fields can have types specified"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Template", $"Template array item {i}, \"type\" property value is not valid, only Custom fields can have types specified"); else {//It is a custom field, is it a valid type value var templateFieldCustomTypeValue = formFieldItem["type"].Value(); if (!ValidCustomFieldTypes.Contains(templateFieldCustomTypeValue)) - AddError(ValidationErrorType.InvalidValue, "Template", $"Template array item {i}, \"type\" property value of \"{templateFieldCustomTypeValue}\" is not a valid custom field type"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Template", $"Template array item {i}, \"type\" property value of \"{templateFieldCustomTypeValue}\" is not a valid custom field type"); } } } if (formFieldItem["required"] == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Template", $"Template array item {i}, object is missing required \"required\" property "); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Template", $"Template array item {i}, object is missing required \"required\" property "); //NOTE: value of nothing, null or empty is a valid value so no checking for it here @@ -249,7 +249,7 @@ namespace AyaNova.Biz } catch (Newtonsoft.Json.JsonReaderException ex) { - AddError(ValidationErrorType.InvalidValue, "Template", "Template is not valid JSON string: " + ex.Message); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Template", "Template is not valid JSON string: " + ex.Message); } } diff --git a/server/AyaNova/biz/LocaleBiz.cs b/server/AyaNova/biz/LocaleBiz.cs index a6bc5c0b..857a1912 100644 --- a/server/AyaNova/biz/LocaleBiz.cs +++ b/server/AyaNova/biz/LocaleBiz.cs @@ -51,7 +51,7 @@ namespace AyaNova.Biz //make sure sourceid exists if (!LocaleExists(inObj.Id)) - AddError(ValidationErrorType.InvalidValue, "Id", "Source locale id does not exist"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Id", "Source locale id does not exist"); //Ensure name is unique and not too long and not empty Validate(inObj.Name, true); @@ -222,7 +222,7 @@ namespace AyaNova.Biz if (dbParent.Stock == true) { - AddError(ValidationErrorType.InvalidOperation, "object", "LocaleItem is from a Stock locale and cannot be modified"); + AddError(ApiErrorCode.INVALID_OPERATION, "object", "LocaleItem is from a Stock locale and cannot be modified"); return false; } @@ -235,7 +235,7 @@ namespace AyaNova.Biz //Only thing to validate is if it has data at all in it if (string.IsNullOrWhiteSpace(inObj.NewText)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Display (NewText)"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Display (NewText)"); if (HasErrors) return false; @@ -252,7 +252,7 @@ namespace AyaNova.Biz { if (dbObj.Stock == true) { - AddError(ValidationErrorType.InvalidOperation, "object", "Locale is a Stock locale and cannot be modified"); + AddError(ApiErrorCode.INVALID_OPERATION, "object", "Locale is a Stock locale and cannot be modified"); return false; } @@ -303,15 +303,15 @@ namespace AyaNova.Biz //Name required if (string.IsNullOrWhiteSpace(inObjName)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Name"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); //Name must be less than 255 characters if (inObjName.Length > 255) - AddError(ValidationErrorType.LengthExceeded, "Name", "255 char max"); + AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "Name", "255 char max"); //Name must be unique if (ct.Locale.Where(m => m.Name == inObjName).FirstOrDefault() != null) - AddError(ValidationErrorType.NotUnique, "Name"); + AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name"); return; } @@ -325,20 +325,20 @@ namespace AyaNova.Biz //Ensure it's not a stock locale if (inObj.Stock == true) { - AddError(ValidationErrorType.InvalidOperation, "object", "Locale is a Stock locale and cannot be deleted"); + AddError(ApiErrorCode.INVALID_OPERATION, "object", "Locale is a Stock locale and cannot be deleted"); return; } if (inObj.Id == ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID) { - AddError(ValidationErrorType.InvalidOperation, "object", "Locale is set as the default server locale (AYANOVA_DEFAULT_LANGUAGE_ID) and can not be deleted"); + AddError(ApiErrorCode.INVALID_OPERATION, "object", "Locale is set as the default server locale (AYANOVA_DEFAULT_LANGUAGE_ID) and can not be deleted"); return; } //See if any users exist with this locale selected in which case it's not deleteable if (ct.User.Any(e => e.LocaleId == inObj.Id)) { - AddError(ValidationErrorType.ReferentialIntegrity, "object", "Can't be deleted in use by one or more Users"); + AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "object", "Can't be deleted in use by one or more Users"); return; } } diff --git a/server/AyaNova/biz/RequiredFieldsValidator.cs b/server/AyaNova/biz/RequiredFieldsValidator.cs index a0f58170..55ca2fbb 100644 --- a/server/AyaNova/biz/RequiredFieldsValidator.cs +++ b/server/AyaNova/biz/RequiredFieldsValidator.cs @@ -38,7 +38,7 @@ namespace AyaNova.Biz object propertyValue = proposedObject.GetType().GetProperty(RequiredPropertyName).GetValue(proposedObject, null); if (propertyValue == null || string.IsNullOrWhiteSpace(propertyValue.ToString())) - biz.AddError(ValidationErrorType.RequiredPropertyEmpty, FldLtKey); + biz.AddError(ApiErrorCode.VALIDATION_REQUIRED, FldLtKey); } } diff --git a/server/AyaNova/biz/UserBiz.cs b/server/AyaNova/biz/UserBiz.cs index cdd93522..31563879 100644 --- a/server/AyaNova/biz/UserBiz.cs +++ b/server/AyaNova/biz/UserBiz.cs @@ -416,16 +416,16 @@ namespace AyaNova.Biz if (!isNew) { if (proposedObj.OwnerId == 0) - AddError(ValidationErrorType.RequiredPropertyEmpty, "OwnerId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "OwnerId"); } //Name required if (string.IsNullOrWhiteSpace(proposedObj.Name)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Name"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); //Name must be less than 255 characters if (proposedObj.Name.Length > 255) - AddError(ValidationErrorType.LengthExceeded, "Name", "255 max"); + AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "Name", "255 max"); //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) @@ -433,7 +433,7 @@ namespace AyaNova.Biz //Use Any command is efficient way to check existance, it doesn't return the record, just a true or false if (ct.User.Any(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id)) { - AddError(ValidationErrorType.NotUnique, "Name"); + AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name"); } } @@ -467,7 +467,7 @@ namespace AyaNova.Biz if (!proposedObj.UserType.IsValid()) { - AddError(ValidationErrorType.InvalidValue, "UserType"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "UserType"); } //Validate client type user @@ -475,7 +475,7 @@ namespace AyaNova.Biz { if (proposedObj.ClientId == null || proposedObj.ClientId == 0) { - AddError(ValidationErrorType.RequiredPropertyEmpty, "ClientId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "ClientId"); } else { @@ -489,7 +489,7 @@ namespace AyaNova.Biz { if (proposedObj.HeadOfficeId == null || proposedObj.HeadOfficeId == 0) { - AddError(ValidationErrorType.RequiredPropertyEmpty, "HeadOfficeId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "HeadOfficeId"); } else { @@ -503,7 +503,7 @@ namespace AyaNova.Biz { if (proposedObj.SubVendorId == null || proposedObj.SubVendorId == 0) { - AddError(ValidationErrorType.RequiredPropertyEmpty, "SubVendorId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "SubVendorId"); } else { @@ -514,12 +514,12 @@ namespace AyaNova.Biz if (!proposedObj.Roles.IsValid()) { - AddError(ValidationErrorType.InvalidValue, "Roles"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Roles"); } //Optional employee number field must be less than 255 characters if (!string.IsNullOrWhiteSpace(proposedObj.EmployeeNumber) && proposedObj.EmployeeNumber.Length > 255) - AddError(ValidationErrorType.LengthExceeded, "EmployeeNumber", "255 max"); + AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "EmployeeNumber", "255 max"); //Any form customizations to validate? var FormCustomization = ct.FormCustom.SingleOrDefault(x => x.FormKey == FormAvailableFields.USER_FORM_KEY); @@ -541,7 +541,7 @@ namespace AyaNova.Biz { if (CurrentActiveCount >= LicensedUserCount) { - AddError(ValidationErrorType.InvalidOperation, null, "LT:ErrorSecurityUserCapacity"); + AddError(ApiErrorCode.INVALID_OPERATION, null, "LT:ErrorSecurityUserCapacity"); } } @@ -562,7 +562,7 @@ namespace AyaNova.Biz //There's only one rule - have they done anything eventlog worthy yet? if (ct.Event.Select(m => m).Where(m => m.OwnerId == inObj.Id).Count() > 0) { - AddError(ValidationErrorType.InvalidOperation, "user", "LT:ErrorDBForeignKeyViolation"); + AddError(ApiErrorCode.INVALID_OPERATION, "user", "LT:ErrorDBForeignKeyViolation"); return; } diff --git a/server/AyaNova/biz/UserOptionsBiz.cs b/server/AyaNova/biz/UserOptionsBiz.cs index aba81d95..dd3066bc 100644 --- a/server/AyaNova/biz/UserOptionsBiz.cs +++ b/server/AyaNova/biz/UserOptionsBiz.cs @@ -100,11 +100,11 @@ namespace AyaNova.Biz //OwnerId required if (inObj.OwnerId == 0) - AddError(ValidationErrorType.RequiredPropertyEmpty, "OwnerId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "OwnerId"); //OwnerId required if (inObj.UserId == 0) - AddError(ValidationErrorType.RequiredPropertyEmpty, "UserId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "UserId"); //LOOKAT:Validate email address is legitimate (I put the EMailAddress attribute on the field in the model so I think it might validate) diff --git a/server/AyaNova/biz/ValidateJsonPatch.cs b/server/AyaNova/biz/ValidateJsonPatch.cs index 42f81746..c6c29eb2 100644 --- a/server/AyaNova/biz/ValidateJsonPatch.cs +++ b/server/AyaNova/biz/ValidateJsonPatch.cs @@ -25,7 +25,7 @@ namespace AyaNova.Biz { if (objectPatch.Operations.Any(m => m.path == $"/{Property.ToLowerInvariant()}")) { - biz.AddError(ValidationErrorType.NotChangeable, Property); + biz.AddError(ApiErrorCode.VALIDATION_NOT_CHANGEABLE, Property); IsValid = false; } } @@ -33,31 +33,31 @@ namespace AyaNova.Biz //check for in-valid patches if (objectPatch.Operations.Any(m => m.path == "/id")) { - biz.AddError(ValidationErrorType.NotChangeable, "Id"); + biz.AddError(ApiErrorCode.VALIDATION_NOT_CHANGEABLE, "Id"); IsValid = false; } if (objectPatch.Operations.Any(m => m.path == "/ownerid")) { - biz.AddError(ValidationErrorType.NotChangeable, "OwnerId"); + biz.AddError(ApiErrorCode.VALIDATION_NOT_CHANGEABLE, "OwnerId"); IsValid = false; } if (objectPatch.Operations.Any(m => m.path == "/serial")) { - biz.AddError(ValidationErrorType.NotChangeable, "Serial"); + biz.AddError(ApiErrorCode.VALIDATION_NOT_CHANGEABLE, "Serial"); IsValid = false; } if (objectPatch.Operations.Any(m => m.op == "add")) { - biz.AddError(ValidationErrorType.InvalidOperation, "add"); + biz.AddError(ApiErrorCode.INVALID_OPERATION, "add"); IsValid = false; } if (objectPatch.Operations.Any(m => m.op == "remove")) { - biz.AddError(ValidationErrorType.InvalidOperation, "remove"); + biz.AddError(ApiErrorCode.INVALID_OPERATION, "remove"); IsValid = false; } diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index 2b822e4c..72e4634f 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -351,7 +351,7 @@ namespace AyaNova.Biz // // //NEW widgets must be active // // if (inObj.Active == null || ((bool)inObj.Active) == false) // // { - // // AddError(ValidationErrorType.InvalidValue, "Active", "New widget must be active"); + // // AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Active", "New widget must be active"); // // } // } @@ -359,16 +359,16 @@ namespace AyaNova.Biz if (!isNew) { if (proposedObj.OwnerId == 0) - AddError(ValidationErrorType.RequiredPropertyEmpty, "OwnerId"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "OwnerId"); } //Name required if (string.IsNullOrWhiteSpace(proposedObj.Name)) - AddError(ValidationErrorType.RequiredPropertyEmpty, "Name"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); //Name must be less than 255 characters if (proposedObj.Name.Length > 255) - AddError(ValidationErrorType.LengthExceeded, "Name", "255 max"); + AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "Name", "255 max"); //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) @@ -376,27 +376,27 @@ namespace AyaNova.Biz //Use Any command is efficient way to check existance, it doesn't return the record, just a true or false if (ct.Widget.Any(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id)) { - AddError(ValidationErrorType.NotUnique, "Name"); + AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name"); } } //Start date AND end date must both be null or both contain values if (proposedObj.StartDate == null && proposedObj.EndDate != null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "StartDate"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "StartDate"); if (proposedObj.StartDate != null && proposedObj.EndDate == null) - AddError(ValidationErrorType.RequiredPropertyEmpty, "EndDate"); + AddError(ApiErrorCode.VALIDATION_REQUIRED, "EndDate"); //Start date before end date if (proposedObj.StartDate != null && proposedObj.EndDate != null) if (proposedObj.StartDate > proposedObj.EndDate) - AddError(ValidationErrorType.StartDateMustComeBeforeEndDate, "StartDate"); + AddError(ApiErrorCode.VALIDATION_STARTDATE_AFTER_ENDDATE, "StartDate"); //Enum is valid value if (!proposedObj.Roles.IsValid()) { - AddError(ValidationErrorType.InvalidValue, "Roles"); + AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Roles"); } //Any form customizations to validate?