This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -53,7 +53,7 @@
|
|||||||
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
|
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
|
||||||
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
||||||
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
|
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
|
||||||
"AYANOVA_SERVER_TEST_MODE": "false",
|
"AYANOVA_SERVER_TEST_MODE": "true",
|
||||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
|
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
|
||||||
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
|
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
|
||||||
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
|
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
|
||||||
|
|||||||
@@ -233,7 +233,14 @@ namespace AyaNova.Biz
|
|||||||
//values must add up
|
//values must add up
|
||||||
if (proposedObj.Balance != (proposedObj.Quantity + (proposedObj.LastBalance ?? 0)))
|
if (proposedObj.Balance != (proposedObj.Quantity + (proposedObj.LastBalance ?? 0)))
|
||||||
{
|
{
|
||||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Balance", "Balance incorrect (LastBalance + Quantity not equal to Balance");
|
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Balance", "Balance incorrect (LastBalance + Quantity not equal to Balance)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Balance must not be negative
|
||||||
|
if (proposedObj.Balance < 0 )
|
||||||
|
{
|
||||||
|
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Balance", "Transaction would result in a negative balance (not enough inventory to process this transaction)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -416,7 +416,7 @@ namespace AyaNova.Biz
|
|||||||
dtInternalPartInventory i = new dtInternalPartInventory();
|
dtInternalPartInventory i = new dtInternalPartInventory();
|
||||||
i.PartId = poItem.PartId;
|
i.PartId = poItem.PartId;
|
||||||
i.PartWarehouseId = poItem.PartWarehouseId;
|
i.PartWarehouseId = poItem.PartWarehouseId;
|
||||||
i.Quantity = poItem.QuantityReceived *= -1;
|
i.Quantity = poItem.QuantityReceived * -1;
|
||||||
i.SourceType = null;//null because the po no longer exists so this is technically a manual adjustment
|
i.SourceType = null;//null because the po no longer exists so this is technically a manual adjustment
|
||||||
i.SourceId = null;//''
|
i.SourceId = null;//''
|
||||||
i.Description = await Translate("PurchaseOrder") + $" {oldObj.Serial} " + await Translate("EventDeleted");
|
i.Description = await Translate("PurchaseOrder") + $" {oldObj.Serial} " + await Translate("EventDeleted");
|
||||||
@@ -488,7 +488,7 @@ namespace AyaNova.Biz
|
|||||||
dtInternalPartInventory i = new dtInternalPartInventory();
|
dtInternalPartInventory i = new dtInternalPartInventory();
|
||||||
i.PartId = oldItem.PartId;
|
i.PartId = oldItem.PartId;
|
||||||
i.PartWarehouseId = oldItem.PartWarehouseId;
|
i.PartWarehouseId = oldItem.PartWarehouseId;
|
||||||
i.Quantity = oldItem.QuantityReceived *= -1;
|
i.Quantity = oldItem.QuantityReceived * -1;
|
||||||
i.SourceType = AyaType.PurchaseOrder;
|
i.SourceType = AyaType.PurchaseOrder;
|
||||||
i.SourceId = oldObj.Id;
|
i.SourceId = oldObj.Id;
|
||||||
i.Description = await Translate("PurchaseOrder") + $" {oldObj.Serial} " + await Translate("PurchaseOrderItem") + " " + await Translate("EventDeleted");
|
i.Description = await Translate("PurchaseOrder") + $" {oldObj.Serial} " + await Translate("PurchaseOrderItem") + " " + await Translate("EventDeleted");
|
||||||
@@ -553,7 +553,7 @@ namespace AyaNova.Biz
|
|||||||
dtInternalPartInventory i = new dtInternalPartInventory();
|
dtInternalPartInventory i = new dtInternalPartInventory();
|
||||||
i.PartId = oldItem.PartId;
|
i.PartId = oldItem.PartId;
|
||||||
i.PartWarehouseId = oldItem.PartWarehouseId;
|
i.PartWarehouseId = oldItem.PartWarehouseId;
|
||||||
i.Quantity = oldItem.QuantityReceived *= -1;
|
i.Quantity = oldItem.QuantityReceived * -1;
|
||||||
i.SourceType = AyaType.PurchaseOrder;
|
i.SourceType = AyaType.PurchaseOrder;
|
||||||
i.SourceId = oldObj.Id;
|
i.SourceId = oldObj.Id;
|
||||||
i.Description = await Translate("PurchaseOrder") + $" {oldObj.Serial} " + await Translate("PurchaseOrderItem") + " " + await Translate("EventModified") + " " + await Translate("Part") + "/" + await Translate("PartWarehouse");
|
i.Description = await Translate("PurchaseOrder") + $" {oldObj.Serial} " + await Translate("PurchaseOrderItem") + " " + await Translate("EventModified") + " " + await Translate("Part") + "/" + await Translate("PartWarehouse");
|
||||||
|
|||||||
@@ -3342,7 +3342,7 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
PartId = oldObj.PartId,
|
PartId = oldObj.PartId,
|
||||||
PartWarehouseId = oldObj.PartWarehouseId,
|
PartWarehouseId = oldObj.PartWarehouseId,
|
||||||
Quantity = oldObj.Quantity *= -1,
|
Quantity = oldObj.Quantity,
|
||||||
SourceType = null,//null because the po no longer exists so this is technically a manual adjustment
|
SourceType = null,//null because the po no longer exists so this is technically a manual adjustment
|
||||||
SourceId = null,//''
|
SourceId = null,//''
|
||||||
Description = await Translate("WorkOrderItemPart") + $" {oldObj.Serials} " + await Translate("EventDeleted")
|
Description = await Translate("WorkOrderItemPart") + $" {oldObj.Serials} " + await Translate("EventDeleted")
|
||||||
@@ -3368,7 +3368,7 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
PartId = newObj.PartId,
|
PartId = newObj.PartId,
|
||||||
PartWarehouseId = newObj.PartWarehouseId,
|
PartWarehouseId = newObj.PartWarehouseId,
|
||||||
Quantity = newObj.Quantity,
|
Quantity = newObj.Quantity * -1,
|
||||||
SourceType = AyaType.WorkOrderItemPart,
|
SourceType = AyaType.WorkOrderItemPart,
|
||||||
SourceId = newObj.Id,
|
SourceId = newObj.Id,
|
||||||
Description = await Translate("WorkOrderItemPart") + $" {newObj.Serials} " + await Translate("EventCreated")
|
Description = await Translate("WorkOrderItemPart") + $" {newObj.Serials} " + await Translate("EventCreated")
|
||||||
@@ -3397,7 +3397,7 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
PartId = oldObj.PartId,
|
PartId = oldObj.PartId,
|
||||||
PartWarehouseId = oldObj.PartWarehouseId,
|
PartWarehouseId = oldObj.PartWarehouseId,
|
||||||
Quantity = oldObj.Quantity *= -1,
|
Quantity = oldObj.Quantity,
|
||||||
SourceType = null,//null because the po no longer exists so this is technically a manual adjustment
|
SourceType = null,//null because the po no longer exists so this is technically a manual adjustment
|
||||||
SourceId = null,//''
|
SourceId = null,//''
|
||||||
Description = await Translate("WorkOrderItemPart") + $" {oldObj.Serials} " + await Translate("EventDeleted")
|
Description = await Translate("WorkOrderItemPart") + $" {oldObj.Serials} " + await Translate("EventDeleted")
|
||||||
@@ -3418,7 +3418,7 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
PartId = newObj.PartId,
|
PartId = newObj.PartId,
|
||||||
PartWarehouseId = newObj.PartWarehouseId,
|
PartWarehouseId = newObj.PartWarehouseId,
|
||||||
Quantity = newObj.Quantity,
|
Quantity = newObj.Quantity * -1,
|
||||||
SourceType = AyaType.WorkOrderItemPart,
|
SourceType = AyaType.WorkOrderItemPart,
|
||||||
SourceId = newObj.Id,
|
SourceId = newObj.Id,
|
||||||
Description = await Translate("WorkOrderItemPart") + $" {newObj.Serials} " + await Translate("EventCreated")
|
Description = await Translate("WorkOrderItemPart") + $" {newObj.Serials} " + await Translate("EventCreated")
|
||||||
|
|||||||
Reference in New Issue
Block a user