AutoGRAPH.NET Service EnumDevices
Версия от 16:10, 21 января 2020; Admin (обсуждение | вклад)
Возвращает список приборов и групп в указанной схеме (аналогично EnumGeoFences). Иерархия собирается путем сопоставления ID ⇔ ParentID и начинается с верхнего уровня, у которого ParentID=null.
JSON
Вызов:
http://localhost:8300/EnumDevices?schemaID=Demo
Параметр Demo – название схемы, которые возвращаются EnumSchemas.
Результат: скачать файл
Посмотреть пример на Kendo UI Dojo
WCF протокол устарел и не рекомендуется к использованию. Будет удалён с 01.06.2020
Определение:
REnumDevices EnumDevices(string schemaID)
Результат:
public class REnumDevices
{
public string ID { get; set; } // идентификатор схемы
public RGroupItem[] Groups { get; set; } // все группы приборов в схеме
public RDeviceItem[] Items { get; set; } // все ТС в схеме
}
public class RGroupItem
{
public Guid ID { get; set; } // уникальный ID ТС в схеме
public Guid? ParentID { get; set; } // ID-родительская группа
public string Name { get; set; } // название группы
}
public class RDeviceItem : RGroupItem
{
public int Serial { get; set; } // номер прибора
public bool Allowed { get; set; } // доступен или нет ( = включён ли этот прибор в ключ сервера)
public RProperty[] Properties { get; set; } // список свойств прибора (включая унаследованные)
public RPoint FixedLocation { get; set; } // если !=null - данный прибор является стационарным и это его координаты (широта/долгота)
public string Image { get; set; } // имя файла с изображением прибора (.png)
public string ImageColored { get; set; } // имя файла со всем модификаторами цвета или размера - например для картинки sedan.png здесь будет путь '''sedan2/default/transparent/32/-1/FF0000'''
public RTripSplitter[] TripSplitters { get; set; } // делители на рейсы для этого прибора
public bool IsAreaEnabled { get; set; } // включена или нет обработка полей на данном приборе
}
public class RProperty
{
public bool Inherited { get; set; } // унаследованное (true) или собственное (false) свойство
public RPropType Type { get; set; } // тип свойства
public string Name { get; set; } // название свойства
public object Value { get; set; } // значение (типа свойства зависит от поля Type)
}
public enum RPropType : int // типы свойств
{
String = 0,
Number = 1,
Date = 2,
TareTable = 3,
Time = 4,
Memo = 5,
Color = 6,
Bool = 7,
Radio = 8,
Image = 9,
File = 10,
ProgressBar = 11,
Combobox = 12,
FileLink = 13,
Device = 14,
GeoFence = 15,
Driver = 16,
Implement = 17,
Task = 18,
CheckDays = 19
}
