using DTS.Common.Base; using System.Collections.Generic; using DTS.Common.Enums.Sensors; using DTS.Common.Interface.Pagination; namespace DTS.Common.Interface.Sensors.SensorsList { public interface ISensorsListEditGroupViewModel : IBaseViewModel, IFilterableListView { ISensorsListEditGroupView View { get; set; } IAnalogSensor[] AnalogSensors { get; set; } ISquib[] Squibs { get; set; } IDigitalInputSetting[] DigitalInputSettings { get; set; } IDigitalOutputSetting[] DigitalOutputSettings { get; set; } IUartIOSetting[] UartSettings { get; set; } IStreamOutputSetting[] StreamOutputSettings { get; set; } void GetSensors(int sensorCalWarningPeriodDays, bool dontAllowDataCollectionIfOverused, int sensorUsageWarningPeriodCount, bool included); void SetCapacityFormat(string format); void Sort(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 FilterStreamOut(object columnTag, string searchTerm); void FilterStreamIn(object columnTag, string searchTerm); void SetShowAssigned(bool showAssigned, bool showUnassigned, IReadOnlyDictionary assignedSensors); void SetShowOnline(bool showOnline); void SetAssignedSensors(IReadOnlyDictionary serialNumbers); void SetOnline(Dictionary serialNumbersToOnline); bool IsSensorOnline(string serialNumber); void SetCachedSensors(ISensorData[] cachedSensors); void SetCachedCalibrations(ISensorCalibration[] calibrations); // sets the currently active tab to the type of sensor (analog/squib/di/dout) void SetActiveTab(PossibleFilters filter); void HandleAssemblyVisibilityColumns(bool bDontAllowDataCollectionIfOverused); void HandleInspectBeforeUseVisibilityColumn(bool allow); } }