This commit is contained in:
@@ -823,17 +823,17 @@ namespace AyaNova.Biz
|
||||
List<FormField> l = new List<FormField>();
|
||||
|
||||
l.Add(new FormField { TKey = "WorkOrderSummary", FieldKey = "Notes" });
|
||||
l.Add(new FormField { TKey = "WorkOrderStatus", FieldKey = "WorkOrderStatus" });
|
||||
l.Add(new FormField { TKey = "WorkOrderStatus", FieldKey = "LastStatusId" });
|
||||
l.Add(new FormField { TKey = "Address", FieldKey = "Address" });
|
||||
l.Add(new FormField { TKey = "WorkOrderCloseByDate", FieldKey = "WorkOrderCloseByDate" });
|
||||
l.Add(new FormField { TKey = "Project", FieldKey = "Project" });
|
||||
l.Add(new FormField { TKey = "Contract", FieldKey = "Contract" });
|
||||
l.Add(new FormField { TKey = "WorkOrderInvoiceNumber", FieldKey = "WorkOrderInvoiceNumber" });
|
||||
l.Add(new FormField { TKey = "WorkOrderServiceDate", FieldKey = "WorkOrderServiceDate" });
|
||||
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 = "WorkOrderCloseByDate", FieldKey = "CompleteByDate" });
|
||||
l.Add(new FormField { TKey = "Project", FieldKey = "ProjectId" });
|
||||
l.Add(new FormField { TKey = "Contract", FieldKey = "ContractId" });
|
||||
l.Add(new FormField { TKey = "WorkOrderInvoiceNumber", FieldKey = "InvoiceNumber" });
|
||||
l.Add(new FormField { TKey = "WorkOrderServiceDate", FieldKey = "ServiceDate" });
|
||||
l.Add(new FormField { TKey = "WorkOrderCustomerContactName", FieldKey = "CustomerContactName" });
|
||||
l.Add(new FormField { TKey = "WorkOrderCustomerReferenceNumber", FieldKey = "CustomerReferenceNumber" });
|
||||
l.Add(new FormField { TKey = "WorkOrderInternalReferenceNumber", FieldKey = "InternalReferenceNumber" });
|
||||
l.Add(new FormField { TKey = "WorkOrderOnsite", FieldKey = "Onsite" });
|
||||
l.Add(new FormField { TKey = "CustomerSignature", FieldKey = "CustomerSignature" });
|
||||
l.Add(new FormField { TKey = "TechSignature", FieldKey = "TechSignature" });
|
||||
l.Add(new FormField { TKey = "Tags", FieldKey = "Tags" });
|
||||
@@ -856,16 +856,15 @@ namespace AyaNova.Biz
|
||||
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" });
|
||||
//WORKORDER ITEM
|
||||
l.Add(new FormField { TKey = "Sequence", FieldKey = "Sequence", TKeySection = "WorkOrderItem", Requireable = false });//already required
|
||||
l.Add(new FormField { TKey = "WorkOrderItemTechNotes", FieldKey = "TechNotes", TKeySection = "WorkOrderItem" });
|
||||
l.Add(new FormField { TKey = "Tags", FieldKey = "WorkOrderItemTags", TKeySection = "WorkOrderItem", ModelProperty="Tags" });
|
||||
l.Add(new FormField { TKey = "Wiki", FieldKey = "WorkOrderItemWiki", TKeySection = "WorkOrderItem", ModelProperty="Wiki" });
|
||||
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 = "WorkOrderItemRequestDate", FieldKey = "RequestDate", 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" });
|
||||
@@ -1686,9 +1685,15 @@ namespace AyaNova.Biz
|
||||
public class FormField
|
||||
{
|
||||
//CLIENT / SERVER Unique identifier used at BOTH client and server
|
||||
//MUST MATCH MODEL PROPERTY NAME EXACTLY OR REQUIRED FIELD VALIDATION WON"T WORK
|
||||
//MUST MATCH MODEL PROPERTY NAME EXACTLY UNLESS ModelProperty is set OR REQUIRED FIELD VALIDATION WON"T WORK
|
||||
public string FieldKey { get; set; }
|
||||
|
||||
//This exists to handle things like workorderitemtags which
|
||||
//need to use a unique fieldkey but it can't match the model property becuase then
|
||||
//it would need to be "Tags" but there is already a "Tags" on the workorder header and in units
|
||||
//so here we can specify an exact property tag to check
|
||||
public string ModelProperty { get; set; } = null;
|
||||
|
||||
//CLIENT Use only for display in customization form
|
||||
public string TKey { get; set; }
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace AyaNova.Biz
|
||||
{
|
||||
//No form custom = no template to check against so nothing to do
|
||||
if (formCustom == null || string.IsNullOrWhiteSpace(formCustom.Template))
|
||||
return;
|
||||
return;
|
||||
var FormTemplate = JArray.Parse(formCustom.Template);
|
||||
var FormFields = Biz.FormFieldOptionalCustomizableReference.FormFieldReferenceList(formCustom.FormKey);
|
||||
|
||||
@@ -33,6 +33,9 @@ namespace AyaNova.Biz
|
||||
{
|
||||
//Now get the actual property name from the available fields using the lt key
|
||||
string RequiredPropertyName = FF.FieldKey;
|
||||
//there might be a more specific model property due to being a workorder sub item duplicate such as WorkOrderItemTags vs WorkOrderTags
|
||||
if (FF.ModelProperty != null)
|
||||
RequiredPropertyName = FF.ModelProperty;
|
||||
|
||||
//Is it an indexed collection field?
|
||||
if (RequiredPropertyName.Contains("."))
|
||||
|
||||
@@ -2238,7 +2238,7 @@ namespace AyaNova.Biz
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Notes");
|
||||
|
||||
//Any form customizations to validate?
|
||||
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItem.ToString());
|
||||
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrder.ToString());//all workorder sub items use the workorder key for customization
|
||||
if (FormCustomization != null)
|
||||
{
|
||||
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
|
||||
|
||||
Reference in New Issue
Block a user