using System.Collections.Generic; using AyaNova.Biz; using AyaNova.Models; namespace AyaNova.DataList { internal class UnitMeterReadingDataList : DataListProcessingBase, IDataListInternalCriteria { public UnitMeterReadingDataList() { DefaultListAType = AyaType.UnitMeterReading; SQLFrom = "from aunitmeterreading left join aunit on (aunitmeterreading.unitid=aunit.id) left join aworkorderitem on (aunitmeterreading.workorderitemid) left join aworkorder"; var RoleSet = BizRoles.GetRoleSet(DefaultListAType); AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; DefaultColumns = new List() { "notedate", "UnitMeterReadingDescription", "Unit" }; DefaultSortBy = new Dictionary() { { "notedate", "-" } }; FieldDefinitions = new List(); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "Unit", FieldKey = "Unit", AType = (int)AyaType.Unit, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "aunit.id", SqlValueColumnName = "aunit.name", IsRowId = false }); FieldDefinitions.Add(new DataListFieldDefinition { TKey = "UnitMeterReadingDescription", FieldKey = "UnitMeterReadingDescription", AType = (int)AyaType.UnitMeterReading, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "aunitmeterreading.id", SqlValueColumnName = "aunitmeterreading.description", 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" }); //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(); //ClientCriteria MUST be CustomerId if (string.IsNullOrWhiteSpace(clientCriteria)) throw new System.ArgumentNullException("UnitMeterReadingDataList - ClientCriteria is empty, should be Customer ID"); DataListFilterOption FilterOption = new DataListFilterOption() { Column = "metacustomer" }; FilterOption.Items.Add(new DataListColumnFilter() { value = clientCriteria, op = DataListFilterComparisonOperator.Equality }); ret.Add(FilterOption); return ret; } }//eoc }//eons