using System.Collections.Generic; using AyaNova.Biz; using AyaNova.Models; namespace AyaNova.DataList { internal class UnitMeterReadingDataList : DataListProcessingBase, IDataListInternalCriteria { public UnitMeterReadingDataList(long translationId) { DefaultListAType = AyaType.UnitMeterReading; SQLFrom = "from aunitmeterreading " + "left join aunit on (aunitmeterreading.unitid = aunit.id) " + "left join aworkorderitemunit on (aunitmeterreading.workorderitemunitid = aworkorderitemunit.id) " + "left join aworkorderitem on (aworkorderitemunit.workorderitemid = aworkorderitem.id) " + "left join aworkorder on (aworkorderitem.workorderid = aworkorder.id)"; var RoleSet = BizRoles.GetRoleSet(DefaultListAType); AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; DefaultColumns = new List() { "UnitMeterReadingMeterDate", "UnitMeterReadingMeter", "UnitMeterReadingDescription" }; DefaultSortBy = new Dictionary() { { "UnitMeterReadingMeterDate", "-" } }; FieldDefinitions = new List(); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "Unit", FieldKey = "Unit", AType = (int)AyaType.Unit, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "aunit.id", SqlValueColumnName = "aunit.serial", IsRowId = false }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "UnitMeterReadingDescription", FieldKey = "UnitMeterReadingDescription", AType = (int)AyaType.UnitMeterReading, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "aunitmeterreading.id", SqlValueColumnName = "aunitmeterreading.notes", IsRowId = false }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "UnitMeterReadingMeter", FieldKey = "UnitMeterReadingMeter", AType = (int)AyaType.UnitMeterReading, UiFieldDataType = (int)UiFieldDataType.Integer, SqlIdColumnName = "aunitmeterreading.id", SqlValueColumnName = "aunitmeterreading.meter", IsRowId = true }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "UnitMeterReadingMeterDate", FieldKey = "UnitMeterReadingMeterDate", UiFieldDataType = (int)UiFieldDataType.DateTime, SqlValueColumnName = "aunitmeterreading.meterdate" }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "UnitMeterReadingWorkOrderItemID", FieldKey = "UnitMeterReadingWorkOrderItemID", AType = (int)AyaType.WorkOrderItemUnit, UiFieldDataType = (int)UiFieldDataType.Integer, SqlIdColumnName = "aworkorderitemunit.id", SqlValueColumnName = "aworkorder.serial", IsRowId = false }); //META column FieldDefinitions.Add(new DataListFieldDefinition { FieldKey = "metaunit", UiFieldDataType = (int)UiFieldDataType.InternalId, SqlIdColumnName = "aunitmeterreading.unitid", SqlValueColumnName = "aunitmeterreading.unitid", IsMeta = true }); } public List DataListInternalCriteria(long currentUserId, AuthorizationRoles userRoles, string clientCriteria) { List ret = new List(); if (string.IsNullOrWhiteSpace(clientCriteria)) throw new System.ArgumentNullException("UnitMeterReadingDataList - ClientCriteria is empty, should be Unit ID"); DataListFilterOption FilterOption = new DataListFilterOption() { Column = "metaunit" }; FilterOption.Items.Add(new DataListColumnFilter() { value = clientCriteria, op = DataListFilterComparisonOperator.Equality }); ret.Add(FilterOption); return ret; } }//eoc }//eons