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 HandleAssemblyVisibilityColumns(bool bDontAllowDataCollectionIfOverused); void HandleInspectBeforeUseVisibilityColumn(bool show); void GetSensors(int sensorCalWarningPeriodDays, bool dontAllowDataCollectionIfOverused, int sensorUsageWarningCount, 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); /// ///// determines whether the Assembly, Usage count, and Maximum usage columns are used in models/views ///// ///// //void UseUsageCountColumns(bool bUsesUsageCountColumns); /// /// 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; } } }