using DTS.Common.Interface.Channels; using DTS.Common.Interface.DataRecorders; using DTS.Common.Interface.Sensors; using System; using System.Collections.Generic; using DTS.Common.Interface.TestSetups.TestSetupsList; namespace DTS.Common.Interface.Groups.GroupList { public interface IGroup : IComparable { IGroupDbRecord GetIGroupDbRecord(); int ChannelCount { get; set; } int Id { get; set; } string Name { get; set; } string DisplayName { get; set; } int? StaticGroupId { get; set; } string Description { get; set; } bool Embedded { get; set; } DateTime LastModified { get; set; } string LastModifiedBy { get; set; } /// /// returns true if group matches search term /// false otherwise /// /// /// bool Filter(string term); int[] IncludedHardware { get; set; } //holds a list of hardware identified using the old SerialNumber_type id scheme //I believe this is primarily for import purposes. string[] IncludedHardwareStringList { get; set; } bool Save(Channels.IGroupChannel[] groupChannels, bool canUserCommitChannelCodes); bool Save(Channels.IGroupChannel[] groupChannels, bool canUserCommitChannelCodes, ref List newGroupChannelList); void ClearGroupChannelSettingCache(long groupId); Channels.IGroupChannel[] GetAllChannels(bool bEditable, IDictionary sensorLookup, IDictionary hardwareLookup, IChannelSetting[] channelDefaults, bool allowSensorPushAndPull = false); void LoadHardware(); void ConvertToEmbedded(Channels.IGroupChannel[] groupChannels); void DeterminePositionAndTestObject(Channels.IGroupChannel[] channels); bool PositionIsMixed { get; set; } bool PositionIsTextbox { get; set; } bool PositionIsCombobox { get; set; } string Position { get; set; } bool TestObjectIsMixed { get; set; } string TestObject { get; set; } int DisplayOrder { get; set; } ISensorData GetSensor(Channels.IGroupChannel channel, ISensorData sensorData, bool bUseIsoFilter); void SetSensor(Channels.IGroupChannel channel, ISensorData sensorData); void WriteXML(ref System.Xml.XmlWriter writer); IGroup ReadXML(System.Xml.XmlElement node, Dictionary channelLookup, List sensors); List GroupChannelList { get; set; } /// /// sets the included hardware property and the _bloaded property /// /// void SetIncludedHardware(int[] hardware); List AssociatedTestSetups { get; set; } void SetTestSetupLists(); bool StaticGroupIsEqual(); bool IsDifferentThanStaticGroup { get; set; } bool TagCompatible(int[] tags); int[] TagIDs { get; set; } string GetTagsAsCommaSeparatedString(Classes.Tags.TagsInstance.TagsGetDelegate tagsGet); string Tags { get; set; } List AvailableTestObjects { get; set; } string SelectedTestObjectItem { get; set; } List AvailablePositions { get; set; } string SelectedPositionItem { get; set; } } }