using System.Collections.Generic; using AyaNova.Biz; namespace AyaNova.DataList { internal class WorkOrderDataList : DataListProcessingBase { public WorkOrderDataList() { DefaultListAType = AyaType.WorkOrder; SQLFrom = "from aworkorder " + "left join acustomer on (aworkorder.customerid=acustomer.id)" + "left join aproject on (aworkorder.projectid=aproject.id)" + "left join acontract on (aworkorder.contractid=acontract.id)"; var RoleSet = BizRoles.GetRoleSet(DefaultListAType); AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; DefaultColumns = new List() { "WorkOrderSerialNumber", "Customer" }; DefaultSortBy = new Dictionary() { { "WorkOrderSerialNumber", "-" } }; FieldDefinitions = new List(); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderSerialNumber", FieldKey = "WorkOrderSerialNumber", AType = (int)AyaType.WorkOrder, UiFieldDataType = (int)UiFieldDataType.Integer, SqlIdColumnName = "aworkorder.id", SqlValueColumnName = "aworkorder.serial", IsRowId = true }); FieldDefinitions.Add(new DataListFieldDefinition { FieldKey = "Customer", TKey = "Customer", UiFieldDataType = (int)UiFieldDataType.Text, AType = (int)AyaType.Customer, SqlIdColumnName = "acustomer.id", SqlValueColumnName = "acustomer.name" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderSummary", FieldKey = "workordernotes", UiFieldDataType = (int)UiFieldDataType.Text, SqlValueColumnName = "aworkorder.notes" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "Tags", FieldKey = "workordertags", UiFieldDataType = (int)UiFieldDataType.Tags, SqlValueColumnName = "aworkorder.tags" }); FieldDefinitions.Add(new DataListFieldDefinition { FieldKey = "Project", TKey = "Project", UiFieldDataType = (int)UiFieldDataType.Text, AType = (int)AyaType.User, SqlIdColumnName = "aproject.id", SqlValueColumnName = "aproject.name" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "Contract", FieldKey = "Contract", UiFieldDataType = (int)UiFieldDataType.Text, AType = (int)AyaType.Contract, SqlIdColumnName = "acontract.id", SqlValueColumnName = "acontract.name" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderInternalReferenceNumber", FieldKey = "WorkOrderInternalReferenceNumber", UiFieldDataType = (int)UiFieldDataType.Text, SqlValueColumnName = "aworkorder.internalreferencenumber" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustomerReferenceNumber", FieldKey = "WorkOrderCustomerReferenceNumber", UiFieldDataType = (int)UiFieldDataType.Text, SqlValueColumnName = "aworkorder.customerreferencenumber" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustomerContactName", FieldKey = "WorkOrderCustomerContactName", UiFieldDataType = (int)UiFieldDataType.Text, SqlValueColumnName = "aworkorder.customercontactname" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderServiceDate", FieldKey = "WorkOrderServiceDate", UiFieldDataType = (int)UiFieldDataType.DateTime, SqlValueColumnName = "aworkorder.servicedate" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCloseByDate", FieldKey = "WorkOrderCloseByDate", UiFieldDataType = (int)UiFieldDataType.DateTime, SqlValueColumnName = "aworkorder.completebydate" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderInvoiceNumber", FieldKey = "WorkOrderInvoiceNumber", UiFieldDataType = (int)UiFieldDataType.Text, SqlValueColumnName = "aworkorder.invoicenumber" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderOnsite", FieldKey = "WorkOrderOnsite", UiFieldDataType = (int)UiFieldDataType.Bool, SqlValueColumnName = "aworkorder.onsite" }); /* await ExecQueryAsync("CREATE TABLE aworkorder (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, serial BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL, " + "notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY, customerid BIGINT NOT NULL REFERENCES acustomer (id), " + "projectid BIGINT REFERENCES aproject, contractid BIGINT NULL, internalreferencenumber text, customerreferencenumber text, customercontactname text, " + "servicedate TIMESTAMP, completebydate TIMESTAMP, invoicenumber TEXT, customersignature TEXT, customersignaturename TEXT, customersignaturecaptured TIMESTAMP, " + "techsignature TEXT, techsignaturename TEXT, techsignaturecaptured TIMESTAMP, durationtocompleted INTERVAL NOT NULL, onsite BOOL NOT NULL, contract TEXT, " + "postaddress TEXT, postcity TEXT, postregion TEXT, postcountry TEXT, postcode TEXT, address TEXT, city TEXT, region TEXT, country TEXT, latitude DECIMAL(9,6), longitude DECIMAL(9,6) " + ")");//n */ FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCloseByDate", FieldKey = "WorkOrderCloseByDate", UiFieldDataType = (int)UiFieldDataType.DateTime, SqlValueColumnName = "aworkorder.closebydate" }); // FieldDefinitions.Add(new DataListFieldDefinition // { // TKey = "XXXX", // FieldKey = "XXXX", // UiFieldDataType = (int)UiFieldDataType.Text, // SqlValueColumnName = "aworkorder.internalreferencenumber" // }); // FieldDefinitions.Add(new DataListFieldDefinition // { // FieldKey = "WorkOrderWorkOrderOverseerID", // TKey = "WorkOrderWorkOrderOverseerID", // UiFieldDataType = (int)UiFieldDataType.Text, // AType = (int)AyaType.User, // SqlIdColumnName = "auser.id", // SqlValueColumnName = "auser.name" // }); // FieldDefinitions.Add(new DataListFieldDefinition // { // TKey = "WorkOrderDateStarted", // FieldKey = "WorkOrderDateStarted", // UiFieldDataType = (int)UiFieldDataType.DateTime, // SqlValueColumnName = "aworkorder.datestarted" // }); // FieldDefinitions.Add(new DataListFieldDefinition // { // TKey = "WorkOrderDateCompleted", // FieldKey = "WorkOrderDateCompleted", // UiFieldDataType = (int)UiFieldDataType.DateTime, // SqlValueColumnName = "aworkorder.datecompleted" // }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom1", FieldKey = "workordercustom1", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom2", FieldKey = "workordercustom2", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom3", FieldKey = "workordercustom3", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom4", FieldKey = "workordercustom4", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom5", FieldKey = "workordercustom5", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom6", FieldKey = "workordercustom6", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom7", FieldKey = "workordercustom7", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom8", FieldKey = "workordercustom8", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom9", FieldKey = "workordercustom9", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom10", FieldKey = "workordercustom10", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom11", FieldKey = "workordercustom11", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom12", FieldKey = "workordercustom12", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom13", FieldKey = "workordercustom13", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom14", FieldKey = "workordercustom14", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom15", FieldKey = "workordercustom15", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderCustom16", FieldKey = "workordercustom16", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorder.customfields" }); } }//eoc }//eons