AutoGRAPH.NET Service EnumDevices — различия между версиями

Материал из TK
Перейти к: навигация, поиск
 
(не показано 16 промежуточных версий 1 участника)
Строка 1: Строка 1:
Возвращает список приборов и групп в указанной схеме (аналогично [[AutoGRAPH.NET Service EnumGeoFences|EnumGeoFences]]). Иерархия собирается путем сопоставления ID ⇔ ParentID и начинается с верхнего уровня, у которого ParentID=null.
+
Возвращает список приборов и групп в указанной схеме (аналогично [[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 ==
   
Определение: <syntaxhighlight lang="csharp">
+
Определение:
REnumDevices EnumDevices(string schemaName)
+
<pre>REnumDevices EnumDevices(Guid schemaID)</pre>
</syntaxhighlight>
 
   
Результат: <syntaxhighlight lang="csharp">
+
Результат:
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? &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Assigned &nbsp; &nbsp; { get; set; } // назначенное аутентифицированному пользователю виртуальное дерево из списка VirtualTrees
 
}
 
}
   
 
public class RGroupItem
 
public class RGroupItem
 
{
 
{
public Guid ID { get; set; } // уникальный ID ТС в схеме
+
public Guid ID { get; set; } // уникальный ID ТС в схеме
public Guid? ParentID { get; set; } // ID-родительская группа
+
public Guid? ParentID { get; set; } // ID-родительская группа
public string Name { get; set; } // название группы
+
public string Name { get; set; } // название группы
 
}
 
}
   
public class RDeviceItem : RGroupItem
+
public class RDeviceItem&nbsp;: RGroupItem
 
{
 
{
public int Serial { get; set; } // номер прибора
+
public int Serial { get; set; } // номер прибора
  +
public bool Allowed { get; set; } // доступен или нет ( = включён ли этот прибор в ключ сервера)
  +
public RProperty[] Properties { get; set; } // список свойств прибора (включая унаследованные)
  +
public RPoint FixedLocation { get; set; } // если&nbsp;!=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&nbsp;: 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,
  +
&nbsp; &nbsp; Implement = 17,
  +
&nbsp; &nbsp; Task = 18,
  +
&nbsp; &nbsp; CheckDays = 19
  +
}
   
  +
public class RVirtualTree
Результат: [[Media:EnumDevices-result.json.txt|скачать файл]]
 
  +
{
 
  +
&nbsp; &nbsp; public Guid &nbsp; ID &nbsp; { get; set; }
[[File:AutoGRAPHNET Service EnumDevices.png]]
 
  +
&nbsp; &nbsp; 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

RTENOTITLE

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; }
}