Add field type conversion
This commit is contained in:
@ -2,5 +2,7 @@
|
||||
{
|
||||
public class ГисПолеЭлементаСправочника
|
||||
{
|
||||
public string наименование;
|
||||
public string значение;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,17 +1,11 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace Hcs.ClientApi.DataTypes
|
||||
{
|
||||
public class ГисСправочник
|
||||
{
|
||||
public string РеестровыйНомер;
|
||||
public DateTime ДатаФормирования;
|
||||
public ГисЭлементСправочника[] Элементы;
|
||||
|
||||
public string ToJSON()
|
||||
{
|
||||
return JsonConvert.SerializeObject(this);
|
||||
}
|
||||
public string реестровыйНомер;
|
||||
public DateTime датаФормирования;
|
||||
public ГисЭлементСправочника[] элементы;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,12 +4,10 @@ namespace Hcs.ClientApi.DataTypes
|
||||
{
|
||||
public class ГисЭлементСправочника
|
||||
{
|
||||
public string Код;
|
||||
public Guid Гуид;
|
||||
public bool Актуальный;
|
||||
// TODO: Добавить конвертацию типов
|
||||
//public ГисПолеЭлементаСправочника[] Поля;
|
||||
public Hcs.Service.Async.Nsi.v15_7_0_1.NsiElementFieldType[] Поля;
|
||||
public ГисЭлементСправочника[] Элементы;
|
||||
public string код;
|
||||
public Guid гуид;
|
||||
public bool актуальный;
|
||||
public ГисПолеЭлементаСправочника[] поля;
|
||||
public ГисЭлементСправочника[] элементы;
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,9 +74,9 @@ namespace Hcs.ClientApi.NsiApi
|
||||
{
|
||||
var справочник = new ГисСправочник()
|
||||
{
|
||||
РеестровыйНомер = input.NsiItemRegistryNumber,
|
||||
ДатаФормирования = input.Created,
|
||||
Элементы = AdoptNsiElementTypes(input.NsiElement)
|
||||
реестровыйНомер = input.NsiItemRegistryNumber,
|
||||
датаФормирования = input.Created,
|
||||
элементы = AdoptNsiElementTypes(input.NsiElement)
|
||||
};
|
||||
|
||||
return справочник;
|
||||
@ -87,21 +87,26 @@ namespace Hcs.ClientApi.NsiApi
|
||||
var элементыСправочника = new List<ГисЭлементСправочника>();
|
||||
foreach (var element in input)
|
||||
{
|
||||
// TODO: Добавить конвертацию типов
|
||||
//var поляЭлементаСправочника = new List<ГисПолеЭлементаСправочника>();
|
||||
//foreach (var field in element.NsiElementField)
|
||||
//{
|
||||
//}
|
||||
var поляЭлементаСправочника = new List<ГисПолеЭлементаСправочника>();
|
||||
foreach (var field in element.NsiElementField)
|
||||
{
|
||||
CallOnType<Nsi.NsiElementStringFieldType>(field, x =>
|
||||
{
|
||||
поляЭлементаСправочника.Add(new ГисПолеЭлементаСправочника()
|
||||
{
|
||||
наименование = x.Name,
|
||||
значение = x.Value
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
элементыСправочника.Add(new ГисЭлементСправочника()
|
||||
{
|
||||
Код = element.Code,
|
||||
Гуид = ParseGuid(element.GUID),
|
||||
Актуальный = element.IsActual,
|
||||
// TODO: Добавить конвертацию типов
|
||||
//Поля = [.. поляЭлементаСправочника]
|
||||
Поля = element.NsiElementField,
|
||||
Элементы = element.ChildElement.Length > 0 ? AdoptNsiElementTypes(element.ChildElement) : null
|
||||
код = element.Code,
|
||||
гуид = ParseGuid(element.GUID),
|
||||
актуальный = element.IsActual,
|
||||
поля = [.. поляЭлементаСправочника],
|
||||
элементы = element.ChildElement.Length > 0 ? AdoptNsiElementTypes(element.ChildElement) : null
|
||||
});
|
||||
}
|
||||
return [.. элементыСправочника];
|
||||
|
||||
Reference in New Issue
Block a user