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

Материал из TK
Перейти к: навигация, поиск
(WCF)
Строка 29: Строка 29:
 
public RProperty[] Properties { get; set; } // список свойств прибора (включая унаследованные)
 
public RProperty[] Properties { get; set; } // список свойств прибора (включая унаследованные)
 
public RPoint FixedLocation { get; set; } // если !=null - данный прибор является стационарным и это его координаты (широта/долгота)
 
public RPoint FixedLocation { get; set; } // если !=null - данный прибор является стационарным и это его координаты (широта/долгота)
  +
public string Imge { get;set; } // имя файла с изображением прибора (.png)
  +
public RTripSplitter[] TripSplitters { get; set; } // делители на рейсы для этого прибора
 
}
 
}
   

Версия 13:27, 3 декабря 2015

Возвращает список приборов и групп в указанной схеме (аналогично EnumGeoFences). Иерархия собирается путем сопоставления ID ⇔ ParentID и начинается с верхнего уровня, у которого ParentID=null.

WCF

Определение:

REnumDevices EnumDevices(string schemaName)

Результат:

public class REnumDevices
{
   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 Imge { get;set; }          // имя файла с изображением прибора (.png)
   public RTripSplitter[] TripSplitters { 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
}

JSON

Вызов:

http://localhost:8300/EnumDevices/Demo
http://localhost:8300/EnumDevices?schemaID=Demo

Параметр Demo – название схемы, которые возвращаются EnumSchemas.

Результат: скачать файл

AutoGRAPHNET Service EnumDevices.png