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 [.. элементыСправочника];
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
using Hcs.ClientApi;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Hcs.ClientDemo
|
||||
{
|
||||
@ -8,11 +10,10 @@ namespace Hcs.ClientDemo
|
||||
public static void DemoExportNsiItem51(HcsClient client)
|
||||
{
|
||||
var result = client.Nsi.GetNsiItem(51).Result;
|
||||
Console.WriteLine($"Результат операции:\r\n");
|
||||
foreach (var obj in result)
|
||||
{
|
||||
Console.WriteLine(obj.ToJSON());
|
||||
}
|
||||
var json = JsonConvert.SerializeObject(result);
|
||||
Clipboard.SetText(json);
|
||||
|
||||
Console.WriteLine($"Результат скопирован в буфер обмена!\r\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,6 +65,7 @@
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ClientDemo\DebtRequestsDemo.cs" />
|
||||
|
||||
Reference in New Issue
Block a user