This commit is contained in:
2021-06-25 23:40:47 +00:00
parent a59e163e23
commit 880830d474
3 changed files with 1099 additions and 16 deletions

View File

@@ -50,22 +50,7 @@ namespace AyaNova.DataList
*/
#region WorkOrderItemExpense fields
/*
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" });
CREATE TABLE aworkorderitemexpense (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), "
+ "description TEXT, name TEXT, totalcost DECIMAL(38,18) NOT NULL default 0, chargeamount DECIMAL(38,18) NOT NULL default 0, taxpaid DECIMAL(38,18) NOT NULL default 0, "
+ "chargetaxcodeid BIGINT REFERENCES ataxcode, reimburseuser BOOL NOT NULL, userid BIGINT REFERENCES auser, chargetocustomer BOOL NOT NULL
*/
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemExpenseName",

View File

@@ -0,0 +1,529 @@
using System.Collections.Generic;
using AyaNova.Biz;
using AyaNova.Models;
namespace AyaNova.DataList
{
internal class WorkOrderItemLoanDataList : DataListProcessingBase, IDataListInternalCriteria
{
public WorkOrderItemLoanDataList()
{
DefaultListAType = AyaType.WorkOrder;
SQLFrom = "from aworkorder "
+ "left join aworkorderstatus on (aworkorder.laststatusid = aworkorderstatus.id) "
+ "left join acustomer on (aworkorder.customerid=acustomer.id) "
+ "left join aheadoffice on (acustomer.headofficeid=aheadoffice.id) "
+ "left join aproject on (aworkorder.projectid=aproject.id) "
+ "left join acontract on (aworkorder.contractid=acontract.id)"
+ "left join aworkorderitem on aworkorder.id=aworkorderitem.workorderid "
+ "left join aworkorderitemstatus on (aworkorderitem.workorderitemstatusid = aworkorderitemstatus.id) "
+ "left join aworkorderitempriority on (aworkorderitem.workorderitempriorityid = aworkorderitempriority.id) "
//workorder item loan
+ "left join aworkorderitemloan on aworkorderitem.id=aworkorderitemloan.workorderitemid "
+ "left join aloanunit on (aworkorderitemloan.loanunitid=aloanunit.id) "
;
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
DefaultColumns = new List<string>() {
"WorkOrderSerialNumber",
"WorkOrderItemSequence",
"WorkOrderItemSummary",
"Customer",
"WorkOrderServiceDate",
"WorkOrderItemLoanUnit",
"WorkOrderItemLoanOutDate",
"WorkOrderItemLoanDueDate",
"WorkOrderItemLoanReturnDate"
};
DefaultSortBy = new Dictionary<string, string>() { { "WorkOrderSerialNumber", "-" }, { "WorkOrderItemSequence", "+" }, { "WorkOrderItemLoanUnit", "+" } };
FieldDefinitions = new List<DataListFieldDefinition>();
/*
██╗ ██████╗ █████╗ ███╗ ██╗
██║ ██╔═══██╗██╔══██╗████╗ ██║
██║ ██║ ██║███████║██╔██╗ ██║
██║ ██║ ██║██╔══██║██║╚██╗██║
███████╗╚██████╔╝██║ ██║██║ ╚████║
*/
#region WorkOrderItemLoan fields
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemLoanUnit",
FieldKey = "WorkOrderItemLoanUnit",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderItemLoan,
SqlIdColumnName = "aworkorderitemloan.id",
SqlValueColumnName = "aloanunit.name",
IsRowId = true
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemLoanRate",
FieldKey = "WorkOrderItemLoanRate",
UiFieldDataType = (int)UiFieldDataType.Enum,
EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(LoanUnitRateUnit).ToString()),
SqlValueColumnName = "aworkorderitemloan.rate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemLoanNotes",
FieldKey = "WorkOrderItemLoanNotes",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorderitemloan.notes"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemLoanOutDate",
FieldKey = "WorkOrderItemLoanOutDate",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitemloan.outdate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemLoanDueDate",
FieldKey = "WorkOrderItemLoanDueDate",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitemloan.duedate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemLoanReturnDate",
FieldKey = "WorkOrderItemLoanReturnDate",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitemloan.returndate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemLoanQuantity",
FieldKey = "WorkOrderItemLoanQuantity",
UiFieldDataType = (int)UiFieldDataType.Decimal,
SqlValueColumnName = "aworkorderitemloan.quantity"
});
//META column
FieldDefinitions.Add(new DataListFieldDefinition
{
FieldKey = "metawoitemloanid",
UiFieldDataType = (int)UiFieldDataType.InternalId,
SqlIdColumnName = "aworkorderitemloan.id",
SqlValueColumnName = "aworkorderitemloan.id",
IsMeta = true
});
#endregion
/*
██╗████████╗███████╗███╗ ███╗███████╗
██║╚══██╔══╝██╔════╝████╗ ████║██╔════╝
██║ ██║ █████╗ ██╔████╔██║███████╗
██║ ██║ ██╔══╝ ██║╚██╔╝██║╚════██║
██║ ██║ ███████╗██║ ╚═╝ ██║███████║
╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝
*/
#region WorkOrderItem fields
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemSummary",
FieldKey = "WorkOrderItemSummary",
AType = (int)AyaType.WorkOrderItem,
UiFieldDataType = (int)UiFieldDataType.Text,
SqlIdColumnName = "aworkorderitem.id",
SqlValueColumnName = "aworkorderitem.notes",
IsRowId = true
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "Sequence",
FieldKey = "WorkOrderItemSequence",
AType = (int)AyaType.WorkOrderItem,
UiFieldDataType = (int)UiFieldDataType.Integer,
SqlIdColumnName = "aworkorderitem.id",
SqlValueColumnName = "aworkorderitem.sequence"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemTechNotes",
FieldKey = "WorkOrderItemTechNotes",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorderitem.technotes"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "Tags",
FieldKey = "WorkOrderItemTags",
UiFieldDataType = (int)UiFieldDataType.Tags,
SqlValueColumnName = "aworkorderitem.tags"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemWorkOrderStatusID",
FieldKey = "WorkOrderItemWorkOrderStatusID",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderItemStatus,
SqlIdColumnName = "aworkorderitem.workorderitemstatusid",
SqlColorColumnName = "aworkorderitemstatus.color",
SqlValueColumnName = "aworkorderitemstatus.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemPriorityID",
FieldKey = "WorkOrderItemPriorityID",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderItemStatus,
SqlIdColumnName = "aworkorderitem.workorderitempriorityid",
SqlColorColumnName = "aworkorderitempriority.color",
SqlValueColumnName = "aworkorderitempriority.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemRequestDate",
FieldKey = "WorkOrderItemRequestDate",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitem.requestdate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemWarrantyService",
FieldKey = "WorkOrderItemWarrantyService",
UiFieldDataType = (int)UiFieldDataType.Bool,
SqlValueColumnName = "aworkorderitem.warrantyservice"
});
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom1", FieldKey = "workorderitemcustom1", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom2", FieldKey = "workorderitemcustom2", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom3", FieldKey = "workorderitemcustom3", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom4", FieldKey = "workorderitemcustom4", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom5", FieldKey = "workorderitemcustom5", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom6", FieldKey = "workorderitemcustom6", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom7", FieldKey = "workorderitemcustom7", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom8", FieldKey = "workorderitemcustom8", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom9", FieldKey = "workorderitemcustom9", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom10", FieldKey = "workorderitemcustom10", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom11", FieldKey = "workorderitemcustom11", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom12", FieldKey = "workorderitemcustom12", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom13", FieldKey = "workorderitemcustom13", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom14", FieldKey = "workorderitemcustom14", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom15", FieldKey = "workorderitemcustom15", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom16", FieldKey = "workorderitemcustom16", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
#endregion workorderitem fields
/*
██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗
██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ ██╔═══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗
██║ █╗ ██║██║ ██║██████╔╝█████╔╝█████╗██║ ██║██████╔╝██║ ██║█████╗ ██████╔╝
██║███╗██║██║ ██║██╔══██╗██╔═██╗╚════╝██║ ██║██╔══██╗██║ ██║██╔══╝ ██╔══██╗
╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ ╚██████╔╝██║ ██║██████╔╝███████╗██║ ██║
╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝
*/
#region WorkOrder Header fields
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderSerialNumber",
FieldKey = "WorkOrderSerialNumber",
AType = (int)AyaType.WorkOrder,
UiFieldDataType = (int)UiFieldDataType.Integer,
SqlIdColumnName = "aworkorder.id",
SqlValueColumnName = "aworkorder.serial"
});
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 = "HeadOffice",
FieldKey = "workorderheadoffice",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.HeadOffice,
SqlIdColumnName = "aheadoffice.id",
SqlValueColumnName = "aheadoffice.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderStatus",
FieldKey = "WorkOrderStatus",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderStatus,
SqlIdColumnName = "aworkorder.laststatusid",
SqlColorColumnName = "aworkorderstatus.color",
SqlValueColumnName = "aworkorderstatus.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"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalDeliveryAddress",
FieldKey = "workorderpostaddress",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postaddress"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalCity",
FieldKey = "workorderpostcity",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postcity"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalStateProv",
FieldKey = "workorderpostregion",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postregion"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalCountry",
FieldKey = "workorderpostcountry",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postcountry"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalPostal",
FieldKey = "workorderpostcode",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postcode"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressDeliveryAddress",
FieldKey = "workorderaddress",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.address"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressCity",
FieldKey = "workordercity",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.city"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressStateProv",
FieldKey = "workorderregion",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.region"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressCountry",
FieldKey = "workordercountry",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.country"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressLatitude",
FieldKey = "workorderlatitude",
UiFieldDataType = (int)UiFieldDataType.Decimal,
SqlValueColumnName = "aworkorder.latitude"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressLongitude",
FieldKey = "workorderlongitude",
UiFieldDataType = (int)UiFieldDataType.Decimal,
SqlValueColumnName = "aworkorder.longitude"
});
/*
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 = "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" });
#endregion
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
//This is required to filter out rows where there are no matching scheduled user otherwise we'd get all workorders and items regardless
List<DataListFilterOption> ret = new List<DataListFilterOption>();
DataListFilterOption FilterOption = new DataListFilterOption() { Column = "metawoitemloanid" };
FilterOption.Items.Add(new DataListColumnFilter() { value = "*NULL*", op = DataListFilterComparisonOperator.NotEqual });
ret.Add(FilterOption);
return ret;
}
}//eoc
}//eons

View File

@@ -0,0 +1,569 @@
using System.Collections.Generic;
using AyaNova.Biz;
using AyaNova.Models;
namespace AyaNova.DataList
{
internal class WorkOrderItemOutsideServiceDataList : DataListProcessingBase, IDataListInternalCriteria
{
public WorkOrderItemOutsideServiceDataList()
{
DefaultListAType = AyaType.WorkOrder;
SQLFrom = "from aworkorder "
+ "left join aworkorderstatus on (aworkorder.laststatusid = aworkorderstatus.id) "
+ "left join acustomer on (aworkorder.customerid=acustomer.id) "
+ "left join aheadoffice on (acustomer.headofficeid=aheadoffice.id) "
+ "left join aproject on (aworkorder.projectid=aproject.id) "
+ "left join acontract on (aworkorder.contractid=acontract.id)"
+ "left join aworkorderitem on aworkorder.id=aworkorderitem.workorderid "
+ "left join aworkorderitemstatus on (aworkorderitem.workorderitemstatusid = aworkorderitemstatus.id) "
+ "left join aworkorderitempriority on (aworkorderitem.workorderitempriorityid = aworkorderitempriority.id) "
//workorder item outsideservice
+ "left join aworkorderitemoutsideservice on aworkorderitem.id=aworkorderitemoutsideservice.workorderitemid "
+ "left join aunit on (aworkorderitemoutsideservice.unitid=aunit.id) "
+ "left join avendor as vendto on (aworkorderitemoutsideservice.vendorsenttoid=vendto.id) "
+ "left join avendor as vendvia on (aworkorderitemoutsideservice.vendorsentviaid=vendvia.id) "
;
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
DefaultColumns = new List<string>() {
"WorkOrderSerialNumber",
"WorkOrderItemSequence",
"WorkOrderItemSummary",
"Customer",
"WorkOrderServiceDate",
"WorkOrderItemOutsideServiceUnit",
"WorkOrderItemOutsideServiceVendorSentToID",
"WorkOrderItemOutsideServiceDateSent",
"WorkOrderItemOutsideServiceDateETA",
"WorkOrderItemOutsideServiceDateReturned"
};
DefaultSortBy = new Dictionary<string, string>() { { "WorkOrderSerialNumber", "-" }, { "WorkOrderItemSequence", "+" }, { "WorkOrderItemOutsideServiceDateSent", "+" } };
FieldDefinitions = new List<DataListFieldDefinition>();
/*
██████╗ ██╗ ██╗████████╗███████╗██╗██████╗ ███████╗ ███████╗███████╗██████╗ ██╗ ██╗██╗ ██████╗███████╗
██╔═══██╗██║ ██║╚══██╔══╝██╔════╝██║██╔══██╗██╔════╝ ██╔════╝██╔════╝██╔══██╗██║ ██║██║██╔════╝██╔════╝
██║ ██║██║ ██║ ██║ ███████╗██║██║ ██║█████╗ ███████╗█████╗ ██████╔╝██║ ██║██║██║ █████╗
██║ ██║██║ ██║ ██║ ╚════██║██║██║ ██║██╔══╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║██║ ██╔══╝
╚██████╔╝╚██████╔╝ ██║ ███████║██║██████╔╝███████╗ ███████║███████╗██║ ██║ ╚████╔╝ ██║╚██████╗███████╗
╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝╚═════╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═════╝╚══════╝
*/
#region WorkOrderItemOutsideService fields
/*
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" });
"notes TEXT, unitid BIGINT NOT NULL REFERENCES aunit, vendorsenttoid BIGINT REFERENCES avendor, vendorsentviaid BIGINT REFERENCES avendor, rmanumber text, trackingnumber text, "
taxcodeid BIGINT REFERENCES ataxcode, repaircost DECIMAL(38,18) NOT NULL default 0, repairprice DECIMAL(38,18) NOT NULL default 0, shippingcost DECIMAL(38,18) NOT NULL default 0,
shippingprice DECIMAL(38,18) NOT NULL default 0, SentDate TIMESTAMP, etadate TIMESTAMP, returndate TIMESTAMP"
*/
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "Unit",
FieldKey = "WorkOrderItemOutsideServiceUnit",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderItemOutsideService,
SqlIdColumnName = "aworkorderitemoutsideservice.id",
SqlValueColumnName = "aunit.serial",
IsRowId = true
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceVendorSentToID",
FieldKey = "WorkOrderItemOutsideServiceVendorSentToID",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.Vendor,
SqlIdColumnName = "aworkorderitemoutsideservice.vendorsenttoid",
SqlValueColumnName = "vendto.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceVendorSentViaID",
FieldKey = "WorkOrderItemOutsideServiceVendorSentViaID",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.Vendor,
SqlIdColumnName = "aworkorderitemoutsideservice.vendorsentviaid",
SqlValueColumnName = "vendvia.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceRMANumber",
FieldKey = "WorkOrderItemOutsideServiceRMANumber",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorderitemoutsideservice.rmanumber"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceTrackingNumber",
FieldKey = "WorkOrderItemOutsideServiceTrackingNumber",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorderitemoutsideservice.trackingnumber"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceDateSent",
FieldKey = "WorkOrderItemOutsideServiceDateSent",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitemoutsideservice.SentDate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceDateETA",
FieldKey = "WorkOrderItemOutsideServiceDateETA",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitemoutsideservice.etadate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceDateReturned",
FieldKey = "WorkOrderItemOutsideServiceDateReturned",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitemoutsideservice.returndate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemOutsideServiceNotes",
FieldKey = "WorkOrderItemOutsideServiceNotes",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorderitemoutsideservice.notes"
});
//Leaving dollar amounts off for now due to roles issue
// FieldDefinitions.Add(new DataListFieldDefinition
// {
// TKey = "WorkOrderItemOutsideServiceRepairCost",
// FieldKey = "WorkOrderItemOutsideServiceRepairCost",
// UiFieldDataType = (int)UiFieldDataType.Currency,
// SqlValueColumnName = "aworkorderitemoutsideservice.repaircost"
// });
//META column
FieldDefinitions.Add(new DataListFieldDefinition
{
FieldKey = "metawoitemoutsideserviceid",
UiFieldDataType = (int)UiFieldDataType.InternalId,
SqlIdColumnName = "aworkorderitemoutsideservice.id",
SqlValueColumnName = "aworkorderitemoutsideservice.id",
IsMeta = true
});
#endregion
/*
██╗████████╗███████╗███╗ ███╗███████╗
██║╚══██╔══╝██╔════╝████╗ ████║██╔════╝
██║ ██║ █████╗ ██╔████╔██║███████╗
██║ ██║ ██╔══╝ ██║╚██╔╝██║╚════██║
██║ ██║ ███████╗██║ ╚═╝ ██║███████║
╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝
*/
#region WorkOrderItem fields
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemSummary",
FieldKey = "WorkOrderItemSummary",
AType = (int)AyaType.WorkOrderItem,
UiFieldDataType = (int)UiFieldDataType.Text,
SqlIdColumnName = "aworkorderitem.id",
SqlValueColumnName = "aworkorderitem.notes",
IsRowId = true
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "Sequence",
FieldKey = "WorkOrderItemSequence",
AType = (int)AyaType.WorkOrderItem,
UiFieldDataType = (int)UiFieldDataType.Integer,
SqlIdColumnName = "aworkorderitem.id",
SqlValueColumnName = "aworkorderitem.sequence"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemTechNotes",
FieldKey = "WorkOrderItemTechNotes",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorderitem.technotes"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "Tags",
FieldKey = "WorkOrderItemTags",
UiFieldDataType = (int)UiFieldDataType.Tags,
SqlValueColumnName = "aworkorderitem.tags"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemWorkOrderStatusID",
FieldKey = "WorkOrderItemWorkOrderStatusID",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderItemStatus,
SqlIdColumnName = "aworkorderitem.workorderitemstatusid",
SqlColorColumnName = "aworkorderitemstatus.color",
SqlValueColumnName = "aworkorderitemstatus.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemPriorityID",
FieldKey = "WorkOrderItemPriorityID",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderItemStatus,
SqlIdColumnName = "aworkorderitem.workorderitempriorityid",
SqlColorColumnName = "aworkorderitempriority.color",
SqlValueColumnName = "aworkorderitempriority.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemRequestDate",
FieldKey = "WorkOrderItemRequestDate",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aworkorderitem.requestdate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderItemWarrantyService",
FieldKey = "WorkOrderItemWarrantyService",
UiFieldDataType = (int)UiFieldDataType.Bool,
SqlValueColumnName = "aworkorderitem.warrantyservice"
});
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom1", FieldKey = "workorderitemcustom1", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom2", FieldKey = "workorderitemcustom2", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom3", FieldKey = "workorderitemcustom3", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom4", FieldKey = "workorderitemcustom4", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom5", FieldKey = "workorderitemcustom5", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom6", FieldKey = "workorderitemcustom6", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom7", FieldKey = "workorderitemcustom7", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom8", FieldKey = "workorderitemcustom8", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom9", FieldKey = "workorderitemcustom9", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom10", FieldKey = "workorderitemcustom10", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom11", FieldKey = "workorderitemcustom11", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom12", FieldKey = "workorderitemcustom12", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom13", FieldKey = "workorderitemcustom13", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom14", FieldKey = "workorderitemcustom14", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom15", FieldKey = "workorderitemcustom15", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "WorkOrderItemCustom16", FieldKey = "workorderitemcustom16", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "aworkorderitem.customfields", TKeySection = "WorkOrderItem" });
#endregion workorderitem fields
/*
██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗
██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ ██╔═══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗
██║ █╗ ██║██║ ██║██████╔╝█████╔╝█████╗██║ ██║██████╔╝██║ ██║█████╗ ██████╔╝
██║███╗██║██║ ██║██╔══██╗██╔═██╗╚════╝██║ ██║██╔══██╗██║ ██║██╔══╝ ██╔══██╗
╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ ╚██████╔╝██║ ██║██████╔╝███████╗██║ ██║
╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝
*/
#region WorkOrder Header fields
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderSerialNumber",
FieldKey = "WorkOrderSerialNumber",
AType = (int)AyaType.WorkOrder,
UiFieldDataType = (int)UiFieldDataType.Integer,
SqlIdColumnName = "aworkorder.id",
SqlValueColumnName = "aworkorder.serial"
});
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 = "HeadOffice",
FieldKey = "workorderheadoffice",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.HeadOffice,
SqlIdColumnName = "aheadoffice.id",
SqlValueColumnName = "aheadoffice.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "WorkOrderStatus",
FieldKey = "WorkOrderStatus",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.WorkOrderStatus,
SqlIdColumnName = "aworkorder.laststatusid",
SqlColorColumnName = "aworkorderstatus.color",
SqlValueColumnName = "aworkorderstatus.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"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalDeliveryAddress",
FieldKey = "workorderpostaddress",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postaddress"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalCity",
FieldKey = "workorderpostcity",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postcity"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalStateProv",
FieldKey = "workorderpostregion",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postregion"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalCountry",
FieldKey = "workorderpostcountry",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postcountry"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressPostalPostal",
FieldKey = "workorderpostcode",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.postcode"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressDeliveryAddress",
FieldKey = "workorderaddress",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.address"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressCity",
FieldKey = "workordercity",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.city"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressStateProv",
FieldKey = "workorderregion",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.region"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressCountry",
FieldKey = "workordercountry",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aworkorder.country"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressLatitude",
FieldKey = "workorderlatitude",
UiFieldDataType = (int)UiFieldDataType.Decimal,
SqlValueColumnName = "aworkorder.latitude"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AddressLongitude",
FieldKey = "workorderlongitude",
UiFieldDataType = (int)UiFieldDataType.Decimal,
SqlValueColumnName = "aworkorder.longitude"
});
/*
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 = "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" });
#endregion
}
public List<DataListFilterOption> DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria)
{
//This is required to filter out rows where there are no matching scheduled user otherwise we'd get all workorders and items regardless
List<DataListFilterOption> ret = new List<DataListFilterOption>();
DataListFilterOption FilterOption = new DataListFilterOption() { Column = "metawoitemoutsideserviceid" };
FilterOption.Items.Add(new DataListColumnFilter() { value = "*NULL*", op = DataListFilterComparisonOperator.NotEqual });
ret.Add(FilterOption);
return ret;
}
}//eoc
}//eons