diff --git a/server/AyaNova/biz/PurchaseOrderBiz.cs b/server/AyaNova/biz/PurchaseOrderBiz.cs index d43dc5af..ebc6c484 100644 --- a/server/AyaNova/biz/PurchaseOrderBiz.cs +++ b/server/AyaNova/biz/PurchaseOrderBiz.cs @@ -87,6 +87,8 @@ namespace AyaNova.Biz item.ReceivedCost = 0; item.ReceivedDate = null; item.PurchaseOrderId = 0; + item.WorkorderItemPartRequestId=null; + item.PartRequestedById=null; } newObject.Id = 0; newObject.Concurrency = 0; @@ -96,6 +98,7 @@ namespace AyaNova.Biz await SearchIndexAsync(newObject, true); await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null); await HandlePotentialNotificationEvent(AyaEvent.Created, newObject); + await SetDisplayFields(newObject); return newObject; } @@ -108,7 +111,6 @@ namespace AyaNova.Biz await SetDisplayFields(ret); - if (logTheGetEvent && ret != null) await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct); return ret; @@ -124,7 +126,7 @@ namespace AyaNova.Biz //populate server fields for client ui //Show Warehouses po.DisplayWarehouses = await ct.PartWarehouse.CountAsync() > 1; - + //Show PartRequest fields? po.DisplayPartRequest = false; @@ -170,7 +172,6 @@ namespace AyaNova.Biz item.DisplayLineTotal = dNet + dTaxA + dTaxB; } } - } @@ -215,6 +216,7 @@ namespace AyaNova.Biz await SearchIndexAsync(putObject, false); await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, putObject.Tags, dbObject.Tags); await HandlePotentialNotificationEvent(AyaEvent.Modified, putObject, dbObject); + await SetDisplayFields(putObject); return putObject; } } diff --git a/server/AyaNova/biz/TaxCodeBiz.cs b/server/AyaNova/biz/TaxCodeBiz.cs index c636502a..b314e50f 100644 --- a/server/AyaNova/biz/TaxCodeBiz.cs +++ b/server/AyaNova/biz/TaxCodeBiz.cs @@ -234,26 +234,25 @@ namespace AyaNova.Biz || ServerGlobalBizSettings.TaxPartSaleId == proposedObj.Id || ServerGlobalBizSettings.TaxRateSaleId == proposedObj.Id); + if (!isNew) + if (proposedObj.Name != currentObj.Name + || proposedObj.TaxA != currentObj.TaxA + || proposedObj.TaxB != currentObj.TaxB + || proposedObj.TaxOnTax != currentObj.TaxOnTax) + { + //MIGRATE_OUTSTANDING - check workorder records once wo is coded here for this tax code in use - if (!isNew - && proposedObj.Name != currentObj.Name - || proposedObj.TaxA != currentObj.TaxA - || proposedObj.TaxB != currentObj.TaxB - || proposedObj.TaxOnTax != currentObj.TaxOnTax) - { - //MIGRATE_OUTSTANDING - check workorder records once wo is coded here for this tax code in use - - if (await ct.PurchaseOrderItem.AnyAsync(x => x.PurchaseTaxCodeId == proposedObj.Id)) - AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PurchaseOrder")); + if (await ct.PurchaseOrderItem.AnyAsync(x => x.PurchaseTaxCodeId == proposedObj.Id)) + AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PurchaseOrder")); - if (isGlobalDefault) - AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("AdministrationGlobalSettings")); - } + if (isGlobalDefault) + AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("AdministrationGlobalSettings")); + } //Active not changeable for global default - if (isGlobalDefault && proposedObj.Active == false) + if (isGlobalDefault && proposedObj.Active == false) AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Active", await Translate("TaxCodeDefault")); - + //Name required if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index d88d4269..f952e73e 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -22,8 +22,7 @@ namespace AyaNova.Util //!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!! private const int DESIRED_SCHEMA_LEVEL = 15; - - internal const long EXPECTED_COLUMN_COUNT = 732; + internal const long EXPECTED_COLUMN_COUNT = 735; internal const long EXPECTED_INDEX_COUNT = 125; internal const long EXPECTED_CHECK_CONSTRAINTS = 327; internal const long EXPECTED_FOREIGN_KEY_CONSTRAINTS = 70;