This commit is contained in:
2021-07-27 23:57:34 +00:00
parent 6b90c2c7d4
commit 33769e77a9
3 changed files with 657 additions and 2 deletions

View File

@@ -1110,7 +1110,7 @@ namespace AyaNova.Biz
l.Add(new FormField { TKey = "QuoteValidUntilDate", FieldKey = "QuoteValidUntilDate" });
l.Add(new FormField { TKey = "QuoteDateSubmitted", FieldKey = "QuoteDateSubmitted" });
l.Add(new FormField { TKey = "QuoteDateApproved", FieldKey = "QuoteDateApproved" });
l.Add(new FormField { TKey = "WorkOrderSummary", FieldKey = "WorkOrderSummary" });
l.Add(new FormField { TKey = "QuoteQuoteStatusType", FieldKey = "QuoteQuoteStatusType" });
@@ -1389,6 +1389,262 @@ namespace AyaNova.Biz
}
#endregion
#region PM
{
//PM
List<FormField> l = new List<FormField>();
//Several mandatory fields in PM header not listed here
l.Add(new FormField { TKey = "WorkOrderSummary", FieldKey = "WorkOrderSummary" });
l.Add(new FormField { TKey = "Address", FieldKey = "Address" });
l.Add(new FormField { TKey = "Project", FieldKey = "Project" });
l.Add(new FormField { TKey = "Contract", FieldKey = "Contract" });
l.Add(new FormField { TKey = "WorkOrderCustomerContactName", FieldKey = "WorkOrderCustomerContactName" });
l.Add(new FormField { TKey = "WorkOrderCustomerReferenceNumber", FieldKey = "WorkOrderCustomerReferenceNumber" });
l.Add(new FormField { TKey = "WorkOrderInternalReferenceNumber", FieldKey = "WorkOrderInternalReferenceNumber" });
l.Add(new FormField { TKey = "WorkOrderOnsite", FieldKey = "WorkOrderOnsite" });
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 = "WorkOrderCustom1", FieldKey = "WorkOrderCustom1", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom2", FieldKey = "WorkOrderCustom2", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom3", FieldKey = "WorkOrderCustom3", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom4", FieldKey = "WorkOrderCustom4", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom5", FieldKey = "WorkOrderCustom5", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom6", FieldKey = "WorkOrderCustom6", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom7", FieldKey = "WorkOrderCustom7", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom8", FieldKey = "WorkOrderCustom8", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom9", FieldKey = "WorkOrderCustom9", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom10", FieldKey = "WorkOrderCustom10", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom11", FieldKey = "WorkOrderCustom11", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom12", FieldKey = "WorkOrderCustom12", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom13", FieldKey = "WorkOrderCustom13", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom14", FieldKey = "WorkOrderCustom14", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom15", FieldKey = "WorkOrderCustom15", IsCustomField = true });
l.Add(new FormField { TKey = "WorkOrderCustom16", FieldKey = "WorkOrderCustom16", IsCustomField = true });
//WORKORDER ITEM
l.Add(new FormField { TKey = "WorkOrderItemSummary", FieldKey = "WorkOrderItemSummary", TKeySection = "WorkOrderItem", Hideable = false });
l.Add(new FormField { TKey = "Sequence", FieldKey = "WorkOrderItemSequence", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemTechNotes", FieldKey = "WorkOrderItemTechNotes", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "Tags", FieldKey = "WorkOrderItemTags", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "Wiki", FieldKey = "WorkOrderItemWiki", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "Attachments", FieldKey = "WorkOrderItemAttachments", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemWorkOrderStatusID", FieldKey = "WorkOrderItemWorkOrderStatusID", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemPriorityID", FieldKey = "WorkOrderItemPriorityID", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemRequestDate", FieldKey = "WorkOrderItemRequestDate", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemWarrantyService", FieldKey = "WorkOrderItemWarrantyService", TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom1", FieldKey = "WorkOrderItemCustom1", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom2", FieldKey = "WorkOrderItemCustom2", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom3", FieldKey = "WorkOrderItemCustom3", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom4", FieldKey = "WorkOrderItemCustom4", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom5", FieldKey = "WorkOrderItemCustom5", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom6", FieldKey = "WorkOrderItemCustom6", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom7", FieldKey = "WorkOrderItemCustom7", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom8", FieldKey = "WorkOrderItemCustom8", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom9", FieldKey = "WorkOrderItemCustom9", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom10", FieldKey = "WorkOrderItemCustom10", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom11", FieldKey = "WorkOrderItemCustom11", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom12", FieldKey = "WorkOrderItemCustom12", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom13", FieldKey = "WorkOrderItemCustom13", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom14", FieldKey = "WorkOrderItemCustom14", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom15", FieldKey = "WorkOrderItemCustom15", IsCustomField = true, TKeySection = "WorkOrderItem" });
l.Add(new FormField { TKey = "WorkOrderItemCustom16", FieldKey = "WorkOrderItemCustom16", IsCustomField = true, TKeySection = "WorkOrderItem" });
//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 = "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 = "WorkOrderItemExpenseList", FieldKey = "WorkOrderItemExpenseList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemLoanList", FieldKey = "WorkOrderItemLoanList", TKeySection = "WorkOrderItem", Requireable = false });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceList", FieldKey = "WorkOrderItemOutsideServiceList", TKeySection = "WorkOrderItem", Requireable = false });
//WORKORDER ITEM UNIT
l.Add(new FormField { TKey = "WorkOrderItemUnitNotes", FieldKey = "WorkOrderItemUnitNotes", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "Unit", FieldKey = "WorkOrderItemUnit", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "UnitModelModelNumber", FieldKey = "UnitModelModelNumber", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "UnitModelVendorID", FieldKey = "UnitModelVendorID", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "UnitModelName", FieldKey = "UnitModelName", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "UnitDescription", FieldKey = "UnitDescription", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "Tags", FieldKey = "WorkOrderItemUnitTags", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "UnitWarrantyInfo", FieldKey = "UnitWarrantyInfo", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "Wiki", FieldKey = "WorkOrderItemUnitWiki", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "Attachments", FieldKey = "WorkOrderItemUnitAttachments", TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom1", FieldKey = "WorkOrderItemUnitCustom1", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom2", FieldKey = "WorkOrderItemUnitCustom2", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom3", FieldKey = "WorkOrderItemUnitCustom3", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom4", FieldKey = "WorkOrderItemUnitCustom4", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom5", FieldKey = "WorkOrderItemUnitCustom5", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom6", FieldKey = "WorkOrderItemUnitCustom6", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom7", FieldKey = "WorkOrderItemUnitCustom7", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom8", FieldKey = "WorkOrderItemUnitCustom8", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom9", FieldKey = "WorkOrderItemUnitCustom9", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom10", FieldKey = "WorkOrderItemUnitCustom10", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom11", FieldKey = "WorkOrderItemUnitCustom11", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom12", FieldKey = "WorkOrderItemUnitCustom12", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom13", FieldKey = "WorkOrderItemUnitCustom13", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom14", FieldKey = "WorkOrderItemUnitCustom14", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom15", FieldKey = "WorkOrderItemUnitCustom15", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
l.Add(new FormField { TKey = "WorkOrderItemUnitCustom16", FieldKey = "WorkOrderItemUnitCustom16", IsCustomField = true, TKeySection = "WorkOrderItemUnit" });
//WORKORDER ITEM SCHEDULED USER
l.Add(new FormField { TKey = "WorkOrderItemScheduledUserEstimatedQuantity", FieldKey = "WorkOrderItemScheduledUserEstimatedQuantity", TKeySection = "WorkOrderItemScheduledUser" });
l.Add(new FormField { TKey = "WorkOrderItemScheduledUserServiceRateID", FieldKey = "WorkOrderItemScheduledUserServiceRateID", TKeySection = "WorkOrderItemScheduledUser" });
l.Add(new FormField { TKey = "WorkOrderItemScheduledUserStartDate", FieldKey = "WorkOrderItemScheduledUserStartDate", TKeySection = "WorkOrderItemScheduledUser" });
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 PART
l.Add(new FormField { TKey = "WorkOrderItemPartDescription", FieldKey = "WorkOrderItemPartDescription", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "PurchaseOrderItemSerialNumbers", FieldKey = "WorkOrderItemPartSerials", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartPartID", FieldKey = "WorkOrderItemPartPartID", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartPartWarehouseID", FieldKey = "WorkOrderItemPartPartWarehouseID", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartQuantity", FieldKey = "WorkOrderItemPartQuantity", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartTaxPartSaleID", FieldKey = "WorkOrderItemPartTaxPartSaleID", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "PartName", FieldKey = "PartName", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "PartUPC", FieldKey = "PartUPC", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "Cost", FieldKey = "PartCost", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "ListPrice", FieldKey = "PartListPrice", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "Price", FieldKey = "PartPriceViz", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "PriceOverride", FieldKey = "PartPriceOverride", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "UnitOfMeasure", FieldKey = "PartUnitOfMeasureViz", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "NetPrice", FieldKey = "PartNetViz", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "TaxAAmt", FieldKey = "PartTaxAViz", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "TaxBAmt", FieldKey = "PartTaxBViz", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "LineTotal", FieldKey = "PartLineTotalViz", TKeySection = "WorkOrderItemParts" });
//WORKORDER ITEM PART REQUEST
l.Add(new FormField { TKey = "WorkOrderItemPartRequestPartID", FieldKey = "WorkOrderItemPartRequestPartID", TKeySection = "WorkOrderItemPartRequests" });
l.Add(new FormField { TKey = "WorkOrderItemPartRequestPartWarehouseID", FieldKey = "WorkOrderItemPartRequestPartWarehouseID", TKeySection = "WorkOrderItemPartRequests" });
l.Add(new FormField { TKey = "WorkOrderItemPartRequestQuantity", FieldKey = "WorkOrderItemPartRequestQuantity", TKeySection = "WorkOrderItemPartRequests" });
l.Add(new FormField { TKey = "PartUPC", FieldKey = "PartRequestPartUPC", TKeySection = "WorkOrderItemPartRequests" });
l.Add(new FormField { TKey = "PurchaseOrder", FieldKey = "WorkOrderItemPartRequestPurchaseOrder", TKeySection = "WorkOrderItemPartRequests" });
l.Add(new FormField { TKey = "PurchaseOrderExpectedReceiveDate", FieldKey = "WorkOrderItemPartRequestExpectedReceiveDate", TKeySection = "WorkOrderItemPartRequests" });
l.Add(new FormField { TKey = "PurchaseOrderOrderedDate", FieldKey = "WorkOrderItemPartRequestOrderedDate", TKeySection = "WorkOrderItemPartRequests" });
// l.Add(new FormField { TKey = "WorkOrderItemPartRequestOnOrder", FieldKey = "WorkOrderItemPartRequestOnOrder", TKeySection = "WorkOrderItemPartRequests" });
l.Add(new FormField { TKey = "WorkOrderItemPartRequestReceived", FieldKey = "WorkOrderItemPartRequestReceived", TKeySection = "WorkOrderItemPartRequests" });
//WORKORDER ITEM LABOR
l.Add(new FormField { TKey = "WorkOrderItemLaborServiceStartDate", FieldKey = "WorkOrderItemLaborServiceStartDate", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "WorkOrderItemLaborServiceStopDate", FieldKey = "WorkOrderItemLaborServiceStopDate", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "WorkOrderItemLaborServiceRateQuantity", FieldKey = "WorkOrderItemLaborServiceRateQuantity", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "WorkOrderItemLaborServiceRateID", FieldKey = "WorkOrderItemLaborServiceRateID", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "WorkOrderItemLaborServiceDetails", FieldKey = "WorkOrderItemLaborServiceDetails", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "WorkOrderItemLaborUserID", FieldKey = "WorkOrderItemLaborUserID", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "WorkOrderItemLaborNoChargeQuantity", FieldKey = "WorkOrderItemLaborNoChargeQuantity", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "WorkOrderItemLaborTaxRateSaleID", FieldKey = "WorkOrderItemLaborTaxRateSaleID", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "Cost", FieldKey = "LaborCostViz", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "ListPrice", FieldKey = "LaborListPriceViz", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "Price", FieldKey = "LaborPriceViz", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "PriceOverride", FieldKey = "LaborPriceOverride", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "UnitOfMeasure", FieldKey = "LaborUnitOfMeasureViz", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "NetPrice", FieldKey = "LaborNetViz", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "TaxAAmt", FieldKey = "LaborTaxAViz", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "TaxBAmt", FieldKey = "LaborTaxBViz", TKeySection = "WorkOrderItemLabors" });
l.Add(new FormField { TKey = "LineTotal", FieldKey = "LaborLineTotalViz", TKeySection = "WorkOrderItemLabors" });
//WORKORDER ITEM TRAVEL
l.Add(new FormField { TKey = "WorkOrderItemTravelStartDate", FieldKey = "WorkOrderItemTravelStartDate", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "WorkOrderItemTravelStopDate", FieldKey = "WorkOrderItemTravelStopDate", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "WorkOrderItemTravelRateQuantity", FieldKey = "WorkOrderItemTravelRateQuantity", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "WorkOrderItemTravelServiceRateID", FieldKey = "WorkOrderItemTravelServiceRateID", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "WorkOrderItemTravelDetails", FieldKey = "WorkOrderItemTravelDetails", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "WorkOrderItemTravelUserID", FieldKey = "WorkOrderItemTravelUserID", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "WorkOrderItemTravelNoChargeQuantity", FieldKey = "WorkOrderItemTravelNoChargeQuantity", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "WorkOrderItemTravelTaxRateSaleID", FieldKey = "WorkOrderItemTravelTaxRateSaleID", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "Cost", FieldKey = "TravelCostViz", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "ListPrice", FieldKey = "TravelListPriceViz", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "Price", FieldKey = "TravelPriceViz", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "PriceOverride", FieldKey = "TravelPriceOverride", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "UnitOfMeasure", FieldKey = "TravelUnitOfMeasureViz", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "NetPrice", FieldKey = "TravelNetViz", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "TaxAAmt", FieldKey = "TravelTaxAViz", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "TaxBAmt", FieldKey = "TravelTaxBViz", TKeySection = "WorkOrderItemTravels" });
l.Add(new FormField { TKey = "LineTotal", FieldKey = "TravelLineTotalViz", TKeySection = "WorkOrderItemTravels" });
//WORKORDER ITEM EXPENSES
l.Add(new FormField { TKey = "WorkOrderItemExpenseChargeAmount", FieldKey = "WorkOrderItemExpenseChargeAmount", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseChargeTaxCodeID", FieldKey = "WorkOrderItemExpenseChargeTaxCodeID", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseTaxPaid", FieldKey = "WorkOrderItemExpenseTaxPaid", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseChargeToCustomer", FieldKey = "WorkOrderItemExpenseChargeToCustomer", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseDescription", FieldKey = "WorkOrderItemExpenseDescription", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseName", FieldKey = "WorkOrderItemExpenseName", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseReimburseUser", FieldKey = "WorkOrderItemExpenseReimburseUser", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseTotalCost", FieldKey = "WorkOrderItemExpenseTotalCost", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "WorkOrderItemExpenseUserID", FieldKey = "WorkOrderItemExpenseUserID", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "TaxAAmt", FieldKey = "ExpenseTaxAViz", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "TaxBAmt", FieldKey = "ExpenseTaxBViz", TKeySection = "WorkOrderItemExpense" });
l.Add(new FormField { TKey = "LineTotal", FieldKey = "ExpenseLineTotalViz", TKeySection = "WorkOrderItemExpense" });
//WORKORDER ITEM LOAN
l.Add(new FormField { TKey = "WorkOrderItemLoanNotes", FieldKey = "WorkOrderItemLoanNotes", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "WorkOrderItemLoanOutDate", FieldKey = "WorkOrderItemLoanOutDate", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "WorkOrderItemLoanDueDate", FieldKey = "WorkOrderItemLoanDueDate", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "WorkOrderItemLoanReturnDate", FieldKey = "WorkOrderItemLoanReturnDate", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "WorkOrderItemLoanTaxCodeID", FieldKey = "WorkOrderItemLoanTaxCodeID", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "WorkOrderItemLoanUnit", FieldKey = "WorkOrderItemLoanUnit", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "WorkOrderItemLoanQuantity", FieldKey = "WorkOrderItemLoanQuantity", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "WorkOrderItemLoanRate", FieldKey = "WorkOrderItemLoanRate", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "Cost", FieldKey = "LoanCost", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "ListPrice", FieldKey = "LoanListPrice", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "Price", FieldKey = "LoanPriceViz", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "PriceOverride", FieldKey = "LoanPriceOverride", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "UnitOfMeasure", FieldKey = "LoanUnitOfMeasureViz", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "NetPrice", FieldKey = "LoanNetViz", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "TaxAAmt", FieldKey = "LoanTaxAViz", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "TaxBAmt", FieldKey = "LoanTaxBViz", TKeySection = "WorkOrderItemLoans" });
l.Add(new FormField { TKey = "LineTotal", FieldKey = "LoanLineTotalViz", TKeySection = "WorkOrderItemLoans" });
//WORKORDER ITEM OUTSIDE SERVICES
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceNotes", FieldKey = "WorkOrderItemOutsideServiceNotes", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "Unit", FieldKey = "WorkOrderItemOutsideServiceUnit", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceVendorSentToID", FieldKey = "WorkOrderItemOutsideServiceVendorSentToID", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceVendorSentViaID", FieldKey = "WorkOrderItemOutsideServiceVendorSentViaID", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceRMANumber", FieldKey = "WorkOrderItemOutsideServiceRMANumber", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceTrackingNumber", FieldKey = "WorkOrderItemOutsideServiceTrackingNumber", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceRepairCost", FieldKey = "WorkOrderItemOutsideServiceRepairCost", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceRepairPrice", FieldKey = "WorkOrderItemOutsideServiceRepairPrice", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceShippingCost", FieldKey = "WorkOrderItemOutsideServiceShippingCost", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceShippingPrice", FieldKey = "WorkOrderItemOutsideServiceShippingPrice", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceDateSent", FieldKey = "WorkOrderItemOutsideServiceDateSent", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceDateETA", FieldKey = "WorkOrderItemOutsideServiceDateETA", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "WorkOrderItemOutsideServiceDateReturned", FieldKey = "WorkOrderItemOutsideServiceDateReturned", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "TaxCode", FieldKey = "WorkOrderItemOutsideServiceTaxCode", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "Cost", FieldKey = "OutsideServiceCostViz", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "Price", FieldKey = "OutsideServicePriceViz", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "NetPrice", FieldKey = "OutsideServiceNetViz", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "TaxAAmt", FieldKey = "OutsideServiceTaxAViz", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "TaxBAmt", FieldKey = "OutsideServiceTaxBViz", TKeySection = "WorkOrderItemOutsideServiceList" });
l.Add(new FormField { TKey = "LineTotal", FieldKey = "OutsideServiceLineTotalViz", TKeySection = "WorkOrderItemOutsideServiceList" });
_formFields.Add(AyaType.PM.ToString(), l);
}
#endregion quote
#region CustomerServiceRequest
{
List<FormField> l = new List<FormField>();

View File

@@ -13,7 +13,406 @@ using System.Collections.Generic;
namespace AyaNova.Biz
{
#region v7 code for Generate service workorder from PM
/* /// <summary>
/// Generates a service workorder from a PM type Workorder
/// </summary>
/// <param name="SourceWorkorderID">ID of PM</param>
/// <returns>A new service workorder</returns>
public static Workorder NewServiceWorkorderFromPM(Guid SourceWorkorderID)
{
//Fetch the source workorder and verify it's a PM
Workorder source = Workorder.GetItemNoMRU(SourceWorkorderID);
if (source.WorkorderType != WorkorderTypes.PreventiveMaintenance)
throw new NotSupportedException(LocalizedTextTable.GetLocalizedTextDirect("Workorder.Label.Error.SourceInvalidType"));
//if it's inactive then there is nothing to Process
//this is a backstop, the list the pm is being generated off of
//should have already selected only active items that have not reached their
//expiry date
if (source.WorkorderPreventiveMaintenance.Active == false)
{
throw new System.ApplicationException("NewServiceWorkorderFromPM: source PM workorder is not active");
}
if (source.WorkorderPreventiveMaintenance.StopGeneratingDate != System.DBNull.Value &&
source.WorkorderPreventiveMaintenance.dtStopGeneratingDate < DBUtil.CurrentWorkingDateTime)
{
throw new System.ApplicationException("NewServiceWorkorderFromPM: source PM workorder is past StopGeneratingDate");
}
//Ok, so far so good, create the new one
bool bUseInventory = AyaBizUtils.GlobalSettings.UseInventory;
//case 1387
Workorder dest = Workorder.NewItem(WorkorderTypes.Service);
////NOTE: THIS DOESN'T CALL THE SHARED NEW ITEM METHOD
//Workorder dest = new Workorder();
//dest.WorkorderType=WorkorderTypes.Service;
//dest.mService=WorkorderService.NewItem(dest);
#region copy workorder data
//WORKORDER HEADER
dest.ClientID = source.ClientID;
dest.CustomerContactName = source.CustomerContactName;
dest.CustomerReferenceNumber = source.CustomerReferenceNumber;
dest.mFromPMID = source.WorkorderPreventiveMaintenance.ID;
dest.InternalReferenceNumber = source.InternalReferenceNumber;
dest.Onsite = source.Onsite;
dest.ProjectID = source.ProjectID;
//dest.RegionID=source.RegionID;
dest.Summary = source.Summary;
dest.WorkorderCategoryID = source.WorkorderCategoryID;
//PM SPECIFIC
dest.WorkorderService.WorkorderStatusID = source.WorkorderPreventiveMaintenance.WorkorderStatusID;
//Date stuff (note that date is assumed to have been advanced the last time a workorder was
//generated off the pm (see bottom of this method for that))
dest.WorkorderService.ServiceDate = source.WorkorderPreventiveMaintenance.NextServiceDate;
//WORKORDERITEMS
foreach (WorkorderItem wisource in source.WorkorderItems)
{
WorkorderItem widest = dest.WorkorderItems.Add(dest);
widest.Custom0 = wisource.Custom0;
widest.Custom1 = wisource.Custom1;
widest.Custom2 = wisource.Custom2;
widest.Custom3 = wisource.Custom3;
widest.Custom4 = wisource.Custom4;
widest.Custom5 = wisource.Custom5;
widest.Custom6 = wisource.Custom6;
widest.Custom7 = wisource.Custom7;
widest.Custom8 = wisource.Custom8;
widest.Custom9 = wisource.Custom9;
widest.PriorityID = wisource.PriorityID;
widest.RequestDate = wisource.RequestDate;
widest.Summary = wisource.Summary;
widest.TechNotes = wisource.TechNotes;
widest.TypeID = wisource.TypeID;
widest.UnitID = wisource.UnitID;
widest.WarrantyService = wisource.WarrantyService;
widest.WorkorderItemUnitServiceTypeID = wisource.WorkorderItemUnitServiceTypeID;
widest.WorkorderStatusID = wisource.WorkorderStatusID;
//PARTS
foreach (WorkorderItemPart partsource in wisource.Parts)
{
WorkorderItemPart partdest = widest.Parts.Add(widest);
partdest.Cost = partsource.Cost;
partdest.Description = partsource.Description;
partdest.Discount = partsource.Discount;
partdest.DiscountType = partsource.DiscountType;
partdest.PartID = partsource.PartID;
partdest.PartWarehouseID = partsource.PartWarehouseID;
partdest.Price = partsource.Price;
if (bUseInventory)
{
partdest.QuantityReserved = partsource.Quantity;
partdest.Quantity = 0;
}
else
partdest.Quantity = partsource.Quantity;
partdest.TaxPartSaleID = partsource.TaxPartSaleID;
}
//**********************************************************
//Part requests would be here if copying a service workorder
//**********************************************************
//SCHEDULED USERS
foreach (WorkorderItemScheduledUser usersource in wisource.ScheduledUsers)
{
WorkorderItemScheduledUser userdest = widest.ScheduledUsers.Add(widest);
userdest.EstimatedQuantity = usersource.EstimatedQuantity;
userdest.ServiceRateID = usersource.ServiceRateID;
userdest.StartDate = usersource.StartDate;
userdest.StopDate = usersource.StopDate;
userdest.UserID = usersource.UserID;
}
//LABOR
foreach (WorkorderItemLabor laborsource in wisource.Labors)
{
WorkorderItemLabor labordest = widest.Labors.Add(widest);
labordest.NoChargeQuantity = laborsource.NoChargeQuantity;
labordest.ServiceDetails = laborsource.ServiceDetails;
labordest.ServiceRateID = laborsource.ServiceRateID;
labordest.ServiceRateQuantity = laborsource.ServiceRateQuantity;
labordest.ServiceStartDate = laborsource.ServiceStartDate;
labordest.ServiceStopDate = laborsource.ServiceStopDate;
labordest.TaxRateSaleID = laborsource.TaxRateSaleID;
labordest.UserID = laborsource.UserID;
}
//**********************************************************
//Expenses would be here if copying a service workorder
//**********************************************************
//**********************************************************
//Loans would be here if copying a service workorder
//**********************************************************
//TRAVEL
foreach (WorkorderItemTravel travelsource in wisource.Travels)
{
WorkorderItemTravel traveldest = widest.Travels.Add(widest);
traveldest.TravelDetails = travelsource.TravelDetails;
traveldest.TravelRateID = travelsource.TravelRateID;
traveldest.TravelRateQuantity = travelsource.TravelRateQuantity;
traveldest.TravelStartDate = travelsource.TravelStartDate;
traveldest.TravelStopDate = travelsource.TravelStopDate;
traveldest.TaxRateSaleID = travelsource.TaxRateSaleID;
traveldest.UserID = travelsource.UserID;
traveldest.Distance = travelsource.Distance;
traveldest.Notes = travelsource.Notes;
traveldest.NoChargeQuantity = travelsource.NoChargeQuantity;
}
//TASKS
foreach (WorkorderItemTask tasksource in wisource.Tasks)
{
WorkorderItemTask taskdest = widest.Tasks.Add(widest);
taskdest.TaskGroupID = tasksource.TaskGroupID;
taskdest.TaskID = tasksource.TaskID;
}
//**********************************************************
//Outside service would be here if copying a service workorder
//**********************************************************
}//foreach workorderitem loop
//case 1387
//Delete the auto-created dummy workorder item
//if there are more than it present
if (dest.WorkorderItems.Count > 1)
dest.WorkorderItems.RemoveAt(0);
#endregion copy workorder data
//Now save it to ensure it was created properly so
//that we know it's now safe to advance the next service date and all others
//case 868 previously didn't set dest to result of save causing it to be a copy
dest = (Workorder)dest.Save();
#region Calculate reschedule dates
//Get the current next service date for calcs
DateTime dtNext = GetDateFromSpanAndUnit(source.WorkorderPreventiveMaintenance.dtNextServiceDate,
source.WorkorderPreventiveMaintenance.GenerateSpanUnit,
source.WorkorderPreventiveMaintenance.GenerateSpan);
//Get to the desired day of the week if necessary...
if (source.mWorkorderPreventiveMaintenance.DayOfTheWeek != AyaDayOfWeek.AnyDayOfWeek)
{
DayOfWeek desired = AyaToSystemDayOfWeek(source.mWorkorderPreventiveMaintenance.DayOfTheWeek);
while (dtNext.DayOfWeek != desired)
{
dtNext = dtNext.AddDays(1);
}
}
//Get the time span to add to all the other relevant dates on teh workorder to match
//the amount the next service date has been advanced
System.TimeSpan tsToNext = dtNext - source.WorkorderPreventiveMaintenance.dtNextServiceDate;
#endregion
//Will the next workorder service date fall after the
//stop generating date?
if (source.WorkorderPreventiveMaintenance.StopGeneratingDate != System.DBNull.Value &&
source.WorkorderPreventiveMaintenance.dtStopGeneratingDate < dtNext)
{
//Yes it will, so set it to inactive and bail out
source.WorkorderPreventiveMaintenance.Active = false;
source.Save();
return dest;
}
#region Reschedule PM
source.WorkorderPreventiveMaintenance.dtNextServiceDate = dtNext;
//Calcs the generate date (threshold date)
source.WorkorderPreventiveMaintenance.SetGenerateDate();
//WORKORDERITEMS
foreach (WorkorderItem wisource in source.WorkorderItems)
{
wisource.RequestDate = wisource.RequestDate;
//PARTS
//no date changes required
//SCHEDULED USERS
foreach (WorkorderItemScheduledUser usersource in wisource.ScheduledUsers)
{
//Changed: 2-Oct-2006
//check to not add a date if the original date was empty
if (usersource.StartDate != System.DBNull.Value)
usersource.dtStartDate = usersource.dtStartDate.Add(tsToNext);
if (usersource.StopDate != System.DBNull.Value)
usersource.dtStopDate = usersource.dtStopDate.Add(tsToNext);
}
//LABOR
foreach (WorkorderItemLabor laborsource in wisource.Labors)
{
//Changed: 2-Oct-2006
//check to not add a date if the original date was empty
if (laborsource.ServiceStartDate != System.DBNull.Value)
laborsource.dtServiceStartDate = laborsource.dtServiceStartDate.Add(tsToNext);
if (laborsource.ServiceStopDate != System.DBNull.Value)
laborsource.dtServiceStopDate = laborsource.dtServiceStopDate.Add(tsToNext);
}
//**********************************************************
//Expenses would be here if copying a service workorder
//**********************************************************
//**********************************************************
//Loans would be here if copying a service workorder
//**********************************************************
//TRAVEL
foreach (WorkorderItemTravel travelsource in wisource.Travels)
{
//Changed: 2-Oct-2006
//check to not add a date if the original date was empty
if (travelsource.TravelStartDate != DBNull.Value)
travelsource.dtTravelStartDate = travelsource.dtTravelStartDate.Add(tsToNext);
if (travelsource.TravelStopDate != DBNull.Value)
travelsource.dtTravelStopDate = travelsource.dtTravelStopDate.Add(tsToNext);
}
//TASKS
//**********************************************************
//Outside service would be here if copying a service workorder
//**********************************************************
}//foreach workorderitem loop
#endregion reschedule pm
//Ok, Source PM is now rescheduled, save it
//case 1959 try catch block added to prevent infinite generation issue
try
{
source = (Workorder)source.Save();
}
catch (Exception exx)
{
dest.Delete();
dest.Save();
//crack the exception
while (exx.InnerException != null)
exx = exx.InnerException;
Memo mwarn = Memo.NewItem();
mwarn.ToID = User.AdministratorID;
//case 3826
if (User.CurrentUserType == UserTypes.Utility)
{
//Utility accounts should not be sending memos, it fucks up downstream
//trying to view the memo, also it's confusing
mwarn.FromID = User.AdministratorID;
}
else
{
mwarn.FromID = User.CurrentThreadUserID;
}
mwarn.Subject = "SYSTEM WARNING: Preventive Maintenance WO PROBLEM";
StringBuilder sb = new StringBuilder();
sb.AppendLine("This is an automated message sent on behalf of the current user from the \"NewServiceWorkorderFromPM\" module.");
sb.AppendLine("This message concerns Preventive Maintenance workorder number " + source.WorkorderPreventiveMaintenance.PreventiveMaintenanceNumber.ToString());
sb.AppendLine("The Preventive Maintenance workorder had an error when trying to save it during generation of a service workorder.");
sb.AppendLine("This kind of problem could result in loop which generates a very large number of identical service workorders.");
sb.AppendLine("In order to prevent this the operation has been stopped and this message generated so you can fix the problem with the source PM workorder.");
sb.AppendLine("See below for details and examine the PM workorder for problems or contact support@ayanova.com for help with the information in this message.");
sb.AppendLine("Here are the details of the error preventing save:");
sb.AppendLine("=================================");
sb.AppendLine("Exception saving source PM:");
sb.AppendLine(exx.Message);
sb.AppendLine("=================================");
string sSourceErr = source.GetBrokenRulesString();
if (!string.IsNullOrWhiteSpace(sSourceErr))
{
sb.AppendLine("Broken business rules on PM object:");
sb.AppendLine(sSourceErr);
sb.AppendLine("==============================");
}
mwarn.Message = sb.ToString();
mwarn.Save();
throw new System.ApplicationException("Workorder->NewServiceWorkorderFromPM: Error during service workorder generation. Memo with details sent to Administrator account.");
}
//case 1630
//copy wikipage from pm to service workorder
if (dest.CanWiki && source.HasWiki)
{
try
{
WikiPage wpSource = WikiPage.GetItem(new TypeAndID(RootObjectTypes.WorkorderPreventiveMaintenance, source.ID));
WikiPage wpDest = WikiPage.GetItem(new TypeAndID(RootObjectTypes.WorkorderService, dest.ID));
wpDest.SetContent(wpSource.GetContent());
wpDest.Save();
}
catch { };
}
return dest;
}
*/
#endregion gen service wo from pm
internal class PMBiz : BizObject, IJobObject, ISearchAbleObject, IReportAbleObject, IExportAbleObject
{
internal PMBiz(AyContext dbcontext, long currentUserId, long userTranslationId, AuthorizationRoles UserRoles, UserType currentUserType)

View File

@@ -28,7 +28,7 @@ namespace AyaNova.Models
public DateTime NextServiceDate { get; set; }
public TimeSpan Repeat { get; set; }//was generate span
public TimeSpan GenerateBefore { get; set; }//was threshold span
public DateTime? GenerateDate { get; set; }
public DateTime? GenerateDate { get; set; }//Internal, not exposed to UI and is the date to do the next generate on that takes into account generatebefore and next service date and is calcd when generate happens for next time see pmbiz top with reference v7 code
//----
[Required]