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_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\\"
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1524,6 +1524,7 @@
|
||||
"WorkOrderItemOutsideServiceTrackingNumber": "Verfolgungsnummer",
|
||||
"WorkOrderItemOutsideServiceVendorSentToID": "Gesendet an",
|
||||
"WorkOrderItemOutsideServiceVendorSentViaID": "Gesendet mit",
|
||||
"WorkOrderItemOutsideServiceList":"Externe Serviceliste",
|
||||
"WorkOrderItemPartDescription": "Beschreibung",
|
||||
"WorkOrderItemPartDiscount": "Rabatt",
|
||||
"WorkOrderItemPartDiscountType": "Rabatttyp",
|
||||
|
||||
@@ -1524,6 +1524,7 @@
|
||||
"WorkOrderItemOutsideServiceTrackingNumber": "Tracking Number",
|
||||
"WorkOrderItemOutsideServiceVendorSentToID": "Sent To",
|
||||
"WorkOrderItemOutsideServiceVendorSentViaID": "Sent Via",
|
||||
"WorkOrderItemOutsideServiceList":"Outside service list",
|
||||
"WorkOrderItemPartDescription": "Description",
|
||||
"WorkOrderItemPartDiscount": "Discount",
|
||||
"WorkOrderItemPartDiscountType": "Discount Type",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user