AutoGRAPH.NET Service EnumDevices — различия между версиями
Admin (обсуждение | вклад) |
Ivan (обсуждение | вклад) |
||
| (не показано 15 промежуточных версий 1 участника) | |||
| Строка 1: | Строка 1: | ||
| − | Возвращает список приборов и групп в указанной схеме (аналогично [[AutoGRAPH. |
+ | Возвращает список приборов и групп в указанной схеме (аналогично [[AutoGRAPH.NET_Service_EnumGeoFences|EnumGeoFences]]). Иерархия собирается путем сопоставления ID ⇔ ParentID и начинается с верхнего уровня, у которого ParentID=null. |
| + | |||
| + | == JSON == |
||
| + | |||
| + | Вызов: |
||
| + | <pre>http://localhost/ServiceJSON/EnumDevices?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102 |
||
| + | </pre> |
||
| + | |||
| + | Параметр schemaID – ID схемы, которые возвращаются [[AutoGRAPH.NET_Service_EnumSchemas|EnumSchemas]]. |
||
| + | |||
| + | Результат: [[Media:EnumDevices-result.json.txt|скачать файл]] |
||
| + | |||
| + | Посмотреть пример на [http://dojo.telerik.com/@Denisio/IBaXIZ/3 Kendo UI Dojo] |
||
| + | |||
| + | [[File:AutoGRAPHNET Service EnumDevices.png|RTENOTITLE]] |
||
== WCF == |
== WCF == |
||
| − | Определение: |
+ | Определение: |
| − | REnumDevices EnumDevices( |
+ | <pre>REnumDevices EnumDevices(Guid schemaID)</pre> |
| − | </syntaxhighlight> |
||
| − | Результат: |
+ | Результат: |
| − | public class REnumDevices |
+ | <pre>public class REnumDevices |
{ |
{ |
||
| + | public string ID { get; set; } // идентификатор схемы |
||
public RGroupItem[] Groups { get; set; } // все группы приборов в схеме |
public RGroupItem[] Groups { get; set; } // все группы приборов в схеме |
||
| − | public RDeviceItem[] Items { get; set; } // все ТС в схеме |
+ | public RDeviceItem[] Items { get; set; } // все ТС в схеме |
| + | public RVirtualTree[] VirtualTrees { get; set; } // виртуальные деревья в схеме для объектов типа "ТС" |
||
| + | public Guid? Assigned { get; set; } // назначенное аутентифицированному пользователю виртуальное дерево из списка VirtualTrees |
||
} |
} |
||
| Строка 21: | Строка 37: | ||
} |
} |
||
| − | public class RDeviceItem |
+ | public class RDeviceItem : RGroupItem |
{ |
{ |
||
| − | public int Serial { get; set; } // номер прибора |
+ | public int Serial { get; set; } // номер прибора |
| − | public bool Allowed { get; set; } // доступен или нет ( = включён ли этот прибор в ключ сервера) |
+ | public bool Allowed { get; set; } // доступен или нет ( = включён ли этот прибор в ключ сервера) |
| − | public RProperty[] Properties { get; set; } // список свойств прибора (включая унаследованные) |
+ | public RProperty[] Properties { get; set; } // список свойств прибора (включая унаследованные) |
| − | public RPoint FixedLocation { 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; } // включена или нет обработка полей на данном приборе |
||
} |
} |
||
| − | </syntaxhighlight> |
||
| + | public class RProperty |
||
| − | == JSON == |
||
| + | { |
||
| + | 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 // типы свойств |
||
| − | Вызов: <syntaxhighlight lang="html4strict"> |
||
| + | { |
||
| − | http://localhost:8300/EnumDevices/Demo |
||
| + | String = 0, |
||
| − | </syntaxhighlight> |
||
| + | Number = 1, |
||
| − | |||
| + | Date = 2, |
||
| − | Параметр Demo – название схемы, которые возвращаются [[AutoGRAPH.NET Service EnumSchemas|EnumSchemas]]. |
||
| + | 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 |
||
| + | } |
||
| + | public class RVirtualTree |
||
| − | Результат: [[Media:EnumDevices-result.json.txt|скачать файл]] |
||
| + | { |
||
| − | |||
| + | public Guid ID { get; set; } |
||
| − | [[File:AutoGRAPHNET Service EnumDevices.png]] |
||
| + | public string Name { get; set; } |
||
| + | } |
||
| + | </pre> |
||
Текущая версия на 10:06, 18 июня 2020
Возвращает список приборов и групп в указанной схеме (аналогично EnumGeoFences). Иерархия собирается путем сопоставления ID ⇔ ParentID и начинается с верхнего уровня, у которого ParentID=null.
JSON
Вызов:
http://localhost/ServiceJSON/EnumDevices?session=B05043B71F4B9C67C910163779FFF06EDBBAEF994B2D6C3A84DD96EB767A0F44&schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102
Параметр schemaID – ID схемы, которые возвращаются EnumSchemas.
Результат: скачать файл
Посмотреть пример на Kendo UI Dojo
WCF
Определение:
REnumDevices EnumDevices(Guid schemaID)
Результат:
public class REnumDevices
{
public string ID { get; set; } // идентификатор схемы
public RGroupItem[] Groups { get; set; } // все группы приборов в схеме
public RDeviceItem[] Items { get; set; } // все ТС в схеме
public RVirtualTree[] VirtualTrees { get; set; } // виртуальные деревья в схеме для объектов типа "ТС"
public Guid? Assigned { get; set; } // назначенное аутентифицированному пользователю виртуальное дерево из списка VirtualTrees
}
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
}
public class RVirtualTree
{
public Guid ID { get; set; }
public string Name { get; set; }
}
