This commit is contained in:
2021-05-25 23:09:11 +00:00
parent d1d9b85263
commit c430da05dd
9 changed files with 58 additions and 45 deletions

2
.vscode/launch.json vendored
View File

@@ -53,7 +53,7 @@
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
"AYANOVA_SERVER_TEST_MODE": "true",
"AYANOVA_SERVER_TEST_MODE": "false",
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"

View File

@@ -907,11 +907,22 @@ namespace AyaNova.Biz
//WORKORDER ITEM SUB SECTIONS BLOCK
//(used to remove an entire child collection at once)
l.Add(new FormField { TKey = "WorkOrderItemUnitList", FieldKey = "WorkOrderItemUnitList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemScheduledUserList", FieldKey = "WorkOrderItemScheduledUserList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemExpenseList", FieldKey = "WorkOrderItemExpenseList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemTasks", FieldKey = "WorkOrderItemTasks", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemPartList", FieldKey = "WorkOrderItemPartList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemPartRequestList", FieldKey = "WorkOrderItemPartRequestList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemLaborList", FieldKey = "WorkOrderItemLaborList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemTravelList", FieldKey = "WorkOrderItemTravelList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemTasks", FieldKey = "WorkOrderItemTasks", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemExpenseList", FieldKey = "WorkOrderItemExpenseList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemLoanList", FieldKey = "WorkOrderItemExpenseList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceList", FieldKey = "WorkOrderItemOutsideServiceList", TKeySection = "WorkOrderItem", Requireable = false });
//WORKORDER ITEM UNIT
//WORKORDER ITEM SCHEDULED USER
l.Add(new FormField { TKey = "WorkOrderItemScheduledUserEstimatedQuantity", FieldKey = "WorkOrderItemScheduledUserEstimatedQuantity", TKeySection = "WorkOrderItemScheduledUser" });
@@ -920,6 +931,14 @@ namespace AyaNova.Biz
l.Add(new FormField { TKey = "WorkOrderItemScheduledUserStopDate", FieldKey = "WorkOrderItemScheduledUserStopDate", TKeySection = "WorkOrderItemScheduledUser" });
l.Add(new FormField { TKey = "WorkOrderItemScheduledUserUserID", FieldKey = "WorkOrderItemScheduledUserUserID", TKeySection = "WorkOrderItemScheduledUser" });
//WORKORDER ITEM TASKS
l.Add(new FormField { TKey = "Sequence", FieldKey = "WorkOrderItemTaskSequence", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskTaskID", FieldKey = "WorkOrderItemTaskTaskID", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskWorkOrderItemTaskCompletionType", FieldKey = "WorkOrderItemTaskWorkOrderItemTaskCompletionType", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskUser", FieldKey = "WorkOrderItemTaskUser", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskCompletedDate", FieldKey = "WorkOrderItemTaskCompletedDate", TKeySection = "WorkOrderItemTask" });
//WORKORDER ITEM EXPENSES
l.Add(new FormField { TKey = "WorkOrderItemExpenseChargeAmount", FieldKey = "WorkOrderItemExpenseChargeAmount", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseChargeTaxCodeID", FieldKey = "WorkOrderItemExpenseChargeTaxCodeID", TKeySection = "WorkOrderItemExpense" });
@@ -973,12 +992,6 @@ namespace AyaNova.Biz
l.Add(new FormField { TKey = "LineTotal", FieldKey = "TravelLineTotalViz", TKeySection = "WorkOrderItemTravels" });
//WORKORDER ITEM TASKS
l.Add(new FormField { TKey = "Sequence", FieldKey = "WorkOrderItemTaskSequence", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskTaskID", FieldKey = "WorkOrderItemTaskTaskID", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskWorkOrderItemTaskCompletionType", FieldKey = "WorkOrderItemTaskWorkOrderItemTaskCompletionType", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskUser", FieldKey = "WorkOrderItemTaskUser", TKeySection = "WorkOrderItemTask" });
l.Add(new FormField { TKey = "WorkOrderItemTaskCompletedDate", FieldKey = "WorkOrderItemTaskCompletedDate", TKeySection = "WorkOrderItemTask" });
@@ -987,35 +1000,7 @@ namespace AyaNova.Biz
}
#endregion
// #region WorkOrderItem
// {
// List<FormField> l = new List<FormField>();
// //l.Add(new FormField { TKey = "Name", FieldKey = "Name", Hideable = false });
// l.Add(new FormField { TKey = "WorkOrderItemNotes", FieldKey = "Notes" });
// //l.Add(new FormField { TKey = "Active", FieldKey = "Active", Hideable = false });
// l.Add(new FormField { TKey = "Tags", FieldKey = "Tags" });
// l.Add(new FormField { TKey = "Wiki", FieldKey = "Wiki" });
// l.Add(new FormField { TKey = "Attachments", FieldKey = "Attachments" });
// l.Add(new FormField { TKey = "WorkOrderItemCustom1", FieldKey = "WorkOrderItemCustom1", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom2", FieldKey = "WorkOrderItemCustom2", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom3", FieldKey = "WorkOrderItemCustom3", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom4", FieldKey = "WorkOrderItemCustom4", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom5", FieldKey = "WorkOrderItemCustom5", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom6", FieldKey = "WorkOrderItemCustom6", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom7", FieldKey = "WorkOrderItemCustom7", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom8", FieldKey = "WorkOrderItemCustom8", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom9", FieldKey = "WorkOrderItemCustom9", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom10", FieldKey = "WorkOrderItemCustom10", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom11", FieldKey = "WorkOrderItemCustom11", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom12", FieldKey = "WorkOrderItemCustom12", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom13", FieldKey = "WorkOrderItemCustom13", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom14", FieldKey = "WorkOrderItemCustom14", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom15", FieldKey = "WorkOrderItemCustom15", IsCustomField = true });
// l.Add(new FormField { TKey = "WorkOrderItemCustom16", FieldKey = "WorkOrderItemCustom16", IsCustomField = true });
// _formFields.Add(AyaType.WorkOrderItem.ToString(), l);
// }
// #endregion
#region WorkOrderStatus
{

View File

@@ -81,6 +81,12 @@ namespace AyaNova.Biz
{
await GetCurrentContractFromContractIdAsync(newObject.ContractId);
await ProcessChangeOfContractAsync(newObject.Id);
//GRANDCHILD BIZ ACTIONS
foreach (WorkOrderItem wi in newObject.Items)
foreach (WorkOrderItemPart wip in wi.Parts)
await PartBizActionsAsync(AyaEvent.Created, wip, null, null);
await ct.SaveChangesAsync();
}
await WorkOrderPopulateVizFields(newObject, true);//doing this here ahead of notification because notification may require the viz field lookup anyway and afaict no harm in it
@@ -3061,6 +3067,8 @@ namespace AyaNova.Biz
Part part = null;
if (o.PartId != 0)
part = await ct.Part.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.PartId);
o.PartViz = part.Name;
TaxCode Tax = null;
if (o.TaxPartSaleId != null)
Tax = await ct.TaxCode.AsNoTracking().FirstOrDefaultAsync(z => z.Id == o.TaxPartSaleId);
@@ -3166,7 +3174,7 @@ namespace AyaNova.Biz
return;
//SNAPSHOT PRICING
bool ApplyPricingUpdate = true;
bool SnapshotPricing = true;
//if modifed, see what has changed and should be re-applied
if (ayaEvent == AyaEvent.Modified)
@@ -3174,13 +3182,13 @@ namespace AyaNova.Biz
//If it wasn't a complete part change there is no need to set pricing
if (newObj.PartId == oldObj.PartId)
{
ApplyPricingUpdate = false;
SnapshotPricing = false;
}
}
//Pricing
if (ApplyPricingUpdate)
if (SnapshotPricing)
{
//default in case nothing to apply
newObj.Cost = 0;

View File

@@ -1524,6 +1524,7 @@
"WorkOrderItemOutsideServiceTrackingNumber": "Verfolgungsnummer",
"WorkOrderItemOutsideServiceVendorSentToID": "Gesendet an",
"WorkOrderItemOutsideServiceVendorSentViaID": "Gesendet mit",
"WorkOrderItemOutsideServiceList":"Externe Serviceliste",
"WorkOrderItemPartDescription": "Beschreibung",
"WorkOrderItemPartDiscount": "Rabatt",
"WorkOrderItemPartDiscountType": "Rabatttyp",

View File

@@ -1524,6 +1524,7 @@
"WorkOrderItemOutsideServiceTrackingNumber": "Tracking Number",
"WorkOrderItemOutsideServiceVendorSentToID": "Sent To",
"WorkOrderItemOutsideServiceVendorSentViaID": "Sent Via",
"WorkOrderItemOutsideServiceList":"Outside service list",
"WorkOrderItemPartDescription": "Description",
"WorkOrderItemPartDiscount": "Discount",
"WorkOrderItemPartDiscountType": "Discount Type",

View File

@@ -1524,6 +1524,7 @@
"WorkOrderItemOutsideServiceTrackingNumber": "Núm. seguimiento",
"WorkOrderItemOutsideServiceVendorSentToID": "Enviado a",
"WorkOrderItemOutsideServiceVendorSentViaID": "Enviado por",
"WorkOrderItemOutsideServiceList":"Lista de servicios externos",
"WorkOrderItemPartDescription": "Descripción",
"WorkOrderItemPartDiscount": "Descuento",
"WorkOrderItemPartDiscountType": "Tipo de descuento",

View File

@@ -1524,6 +1524,7 @@
"WorkOrderItemOutsideServiceTrackingNumber": "Numéro de suivi",
"WorkOrderItemOutsideServiceVendorSentToID": "Envoyé à",
"WorkOrderItemOutsideServiceVendorSentViaID": "Envoyé via",
"WorkOrderItemOutsideServiceList":"Liste des services extérieurs",
"WorkOrderItemPartDescription": "Description",
"WorkOrderItemPartDiscount": "Remise",
"WorkOrderItemPartDiscountType": "Type de remise",

View File

@@ -22,16 +22,16 @@ namespace AyaNova.Util
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
private const int DESIRED_SCHEMA_LEVEL = 1;
internal const long EXPECTED_COLUMN_COUNT = 933;
internal const long EXPECTED_COLUMN_COUNT = 935;
internal const long EXPECTED_INDEX_COUNT = 141;
internal const long EXPECTED_CHECK_CONSTRAINTS = 421;
internal const long EXPECTED_CHECK_CONSTRAINTS = 423;
internal const long EXPECTED_FOREIGN_KEY_CONSTRAINTS = 118;
internal const long EXPECTED_VIEWS = 6;
internal const long EXPECTED_ROUTINES = 2;
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
///////////////////////////////////////////////////////////////// C933:I141:CC421:FC118:V6:R2
///////////////////////////////////////////////////////////////// C935:I141:CC423:FC118:V6:R2
/*

View File

@@ -2588,10 +2588,26 @@ namespace AyaNova.Util
};
woItem.ScheduledUsers.Add(woItemScheduledUser);
//PARTS
var woItemPart = new WorkOrderItemPart()
{
Quantity = 1,
PartId = Fake.Random.Long(1, TotalSeededParts),
PartWarehouseId=1
};
woItem.Parts.Add(woItemPart);
woItemPart = new WorkOrderItemPart()
{
Quantity = 1,
PartId = Fake.Random.Long(1, TotalSeededParts),
PartWarehouseId=1
};
woItem.Parts.Add(woItemPart);
//LABOR
var techId = RandomServiceTechUserId();
var woItemLabor = new WorkOrderItemLabor()