using DTS.Common.Base; using DTS.Common.Enums.Sensors; using DTS.Common.Interface.Pagination; using System.Collections.Generic; namespace DTS.Common.Interface.Sensors.SensorsList { public interface ISensorsListViewModel : IBaseViewModel, IFilterableListView { ISensorsListView View { get; set; } IAnalogSensor [] AnalogSensors { get; set; } ISquib [] Squibs { get; set; } IDigitalInputSetting [] DigitalInputSettings { get; set; } IDigitalOutputSetting [] DigitalOutputSettings { get; set; } IUartIOSetting [] UartIOSettings { get; set; } IStreamOutputSetting [] StreamOutputSettings { get; set; } CalibrationBehaviors CalibrationBehavior { get; set; } void GetSensors(int sensorCalWarningPeriodDays, bool included); /// /// retrieves and populates view model with all sensors matching sensors allowed /// /// cal warning period in days, used for colorization /// array of which sensors to display /// dictionary look up of databaseid to ISensorData for sensors in a test void GetSensors(int sensorCalWarningPeriodDays, int[] sensorsAllowed, IReadOnlyDictionary sensors); void SetSelectedSerial(string serialNumber); void Sort(object sortBy, bool bColumnClick); void SortOverdue(object sortBy, bool bColumnClick); void Unset(); void Filter(string currentFilter); void FilterSquib(object columnTag, string searchTerm); void FilterDigitalIn(object columnTag, string searchTerm); void FilterDigitalOut(object columnTag, string searchTerm); void FilterUartIO(object columnTag, string searchTerm); void FilterStreamIn(object columnTag, string searchTerm); void FilterStreamOut(object columnTag, string searchTerm); void SetCachedSensors(ISensorData[] cachedSensors); void SetCachedCalibrations(ISensorCalibration[] sensorCalibrations); string CapacityFormat { get; set; } /// /// determines whether included columns are used in models/views /// /// void UseIncludedColumn(bool bUsesIncludedColumn); /// /// sets the included property for all sensors /// /// void SetIncludedAll(bool bIncluded); /// /// returns all the included sensors /// /// IDragAndDropItem[] GetIncludedSensors(); /// /// controls whether TDC incompatible sensors should be included or not /// bool ShowOnlyTDCSensors{ set; } /// /// controls whether Sliceware incompatible sensors should be included or not /// bool ShowOnlySlicewareSensors { set; } } }