using System.Collections.Generic; using AyaNova.Biz; using AyaNova.Models; namespace AyaNova.DataList { internal class PartInventoryDataList : AyaDataList, IAyaDataListServerCriteria { public PartInventoryDataList() { DefaultListObjectType = AyaType.PartInventory; SQLFrom = "from vpartinventorynow " + "left join apart on (vpartinventorynow.partid=apart.id) " + "left join apartwarehouse on (vpartinventorynow.partwarehouseid=apartwarehouse.id) "; var RoleSet = BizRoles.GetRoleSet(DefaultListObjectType); AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; // //######## DEFAULT VIEW WHEN NO VIEW CHOSEN ############ // //Default ListView - show all transactions in order // dynamic dlistView = new JArray(); // dynamic cm = null; // cm = new JObject(); // cm.fld = "PartPartNumber"; // cm.sort = "+"; // dlistView.Add(cm); // cm = new JObject(); // cm.fld = "PartWarehouseName"; // cm.sort = "+"; // dlistView.Add(cm); // cm = new JObject(); // cm.fld = "PartInventoryBalance"; // dlistView.Add(cm); // // cm = new JObject(); // // cm.fld = "PartInventoryTransactionDescription"; // // dlistView.Add(cm); // DefaultListView = dlistView.ToString(Newtonsoft.Json.Formatting.None); DefaultColumns = new List() { "PartPartNumber", "PartWarehouseName", "PartInventoryBalance", "PartInventoryTransactionDescription" }; DefaultSortBy = new Dictionary() { { "PartPartNumber", "+" }, { "PartWarehouseName", "+" } }; FieldDefinitions = new List(); // FieldDefinitions.Add(new AyaDataListFieldDefinition // { // TKey = "PartInventoryTransactionSource", // FieldKey = "PartInventoryTransactionSource", // UiFieldDataType = (int)UiFieldDataType.Text, // SqlIdColumnName = "vpartinventorynow.sourceid", // SqlValueColumnName = "AYGETNAME(vpartinventorynow.sourceid, vpartinventorynow.sourcetype)", // SqlAyTypeColumnName = "vpartinventorynow.sourcetype" // }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "PartPartNumber", FieldKey = "PartPartNumber", AyaObjectType = (int)AyaType.Part, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "apart.id", SqlValueColumnName = "apart.partnumber" }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "PartWarehouseName", FieldKey = "PartWarehouseName", AyaObjectType = (int)AyaType.PartWarehouse, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "apartwarehouse.id", SqlValueColumnName = "apartwarehouse.name" }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "PartInventoryTransactionDescription", FieldKey = "PartInventoryTransactionDescription", AyaObjectType = (int)AyaType.PartInventory, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "vpartinventorynow.id", SqlValueColumnName = "vpartinventorynow.description", IsMeta = true,//only so it doesn't show in the UI but is required for report IsRowId = true }); // FieldDefinitions.Add(new AyaDataListFieldDefinition // { // TKey = "PartInventoryTransactionEntryDate", // FieldKey = "PartInventoryTransactionEntryDate", // UiFieldDataType = (int)UiFieldDataType.DateTime, // SqlValueColumnName = "vpartinventorynow.entrydate" // }); // FieldDefinitions.Add(new AyaDataListFieldDefinition // { // TKey = "PartInventoryTransactionQuantity", // FieldKey = "PartInventoryTransactionQuantity", // UiFieldDataType = (int)UiFieldDataType.Decimal, // SqlValueColumnName = "vpartinventorynow.quantity" // }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "PartInventoryBalance", FieldKey = "PartInventoryBalance", UiFieldDataType = (int)UiFieldDataType.Decimal, SqlValueColumnName = "vpartinventorynow.balance" }); } //"clientCriteria":"p:102074,w:*" public List DataListServerCriteria(long currentUserId, AuthorizationRoles userRoles, DataListBase dataListBase) { List ret = new List(); //ClientCriteria MUST be CustomerId if (string.IsNullOrWhiteSpace(dataListBase.ClientCriteria)) throw new System.ArgumentNullException("CustomerNoteDataList - ClientCriteria is empty, should be Customer ID"); DataListFilterOption FilterOption = new DataListFilterOption() { Column = "metacustomer" }; FilterOption.Items.Add(new DataListColumnFilter() { value = dataListBase.ClientCriteria, op = DataListFilterComparisonOperator.Equality }); ret.Add(FilterOption); return ret; } /* metaFilter.push({ // fld: "PartPartNumber", // filter: { // items: [{ op: "=", value: vm.$route.params.filter.PartPartNumber }] // } // }); // } // if (vm.$route.params.filter.PartWarehouseName != null) { // metaFilter.push({ // fld: "PartWarehouseName", // filter: { // items: [ // { op: "=", value: vm.$route.params.filter.PartWarehouseName } // ] */ }//eoc }//eons