Add field type conversion
This commit is contained in:
@ -2,5 +2,7 @@
|
|||||||
{
|
{
|
||||||
public class ГисПолеЭлементаСправочника
|
public class ГисПолеЭлементаСправочника
|
||||||
{
|
{
|
||||||
|
public string наименование;
|
||||||
|
public string значение;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,11 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace Hcs.ClientApi.DataTypes
|
namespace Hcs.ClientApi.DataTypes
|
||||||
{
|
{
|
||||||
public class ГисСправочник
|
public class ГисСправочник
|
||||||
{
|
{
|
||||||
public string РеестровыйНомер;
|
public string реестровыйНомер;
|
||||||
public DateTime ДатаФормирования;
|
public DateTime датаФормирования;
|
||||||
public ГисЭлементСправочника[] Элементы;
|
public ГисЭлементСправочника[] элементы;
|
||||||
|
|
||||||
public string ToJSON()
|
|
||||||
{
|
|
||||||
return JsonConvert.SerializeObject(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,12 +4,10 @@ namespace Hcs.ClientApi.DataTypes
|
|||||||
{
|
{
|
||||||
public class ГисЭлементСправочника
|
public class ГисЭлементСправочника
|
||||||
{
|
{
|
||||||
public string Код;
|
public string код;
|
||||||
public Guid Гуид;
|
public Guid гуид;
|
||||||
public bool Актуальный;
|
public bool актуальный;
|
||||||
// TODO: Добавить конвертацию типов
|
public ГисПолеЭлементаСправочника[] поля;
|
||||||
//public ГисПолеЭлементаСправочника[] Поля;
|
public ГисЭлементСправочника[] элементы;
|
||||||
public Hcs.Service.Async.Nsi.v15_7_0_1.NsiElementFieldType[] Поля;
|
|
||||||
public ГисЭлементСправочника[] Элементы;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,9 +74,9 @@ namespace Hcs.ClientApi.NsiApi
|
|||||||
{
|
{
|
||||||
var справочник = new ГисСправочник()
|
var справочник = new ГисСправочник()
|
||||||
{
|
{
|
||||||
РеестровыйНомер = input.NsiItemRegistryNumber,
|
реестровыйНомер = input.NsiItemRegistryNumber,
|
||||||
ДатаФормирования = input.Created,
|
датаФормирования = input.Created,
|
||||||
Элементы = AdoptNsiElementTypes(input.NsiElement)
|
элементы = AdoptNsiElementTypes(input.NsiElement)
|
||||||
};
|
};
|
||||||
|
|
||||||
return справочник;
|
return справочник;
|
||||||
@ -87,21 +87,26 @@ namespace Hcs.ClientApi.NsiApi
|
|||||||
var элементыСправочника = new List<ГисЭлементСправочника>();
|
var элементыСправочника = new List<ГисЭлементСправочника>();
|
||||||
foreach (var element in input)
|
foreach (var element in input)
|
||||||
{
|
{
|
||||||
// TODO: Добавить конвертацию типов
|
var поляЭлементаСправочника = new List<ГисПолеЭлементаСправочника>();
|
||||||
//var поляЭлементаСправочника = new List<ГисПолеЭлементаСправочника>();
|
foreach (var field in element.NsiElementField)
|
||||||
//foreach (var field in element.NsiElementField)
|
{
|
||||||
//{
|
CallOnType<Nsi.NsiElementStringFieldType>(field, x =>
|
||||||
//}
|
{
|
||||||
|
поляЭлементаСправочника.Add(new ГисПолеЭлементаСправочника()
|
||||||
|
{
|
||||||
|
наименование = x.Name,
|
||||||
|
значение = x.Value
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
элементыСправочника.Add(new ГисЭлементСправочника()
|
элементыСправочника.Add(new ГисЭлементСправочника()
|
||||||
{
|
{
|
||||||
Код = element.Code,
|
код = element.Code,
|
||||||
Гуид = ParseGuid(element.GUID),
|
гуид = ParseGuid(element.GUID),
|
||||||
Актуальный = element.IsActual,
|
актуальный = element.IsActual,
|
||||||
// TODO: Добавить конвертацию типов
|
поля = [.. поляЭлементаСправочника],
|
||||||
//Поля = [.. поляЭлементаСправочника]
|
элементы = element.ChildElement.Length > 0 ? AdoptNsiElementTypes(element.ChildElement) : null
|
||||||
Поля = element.NsiElementField,
|
|
||||||
Элементы = element.ChildElement.Length > 0 ? AdoptNsiElementTypes(element.ChildElement) : null
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return [.. элементыСправочника];
|
return [.. элементыСправочника];
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
using Hcs.ClientApi;
|
using Hcs.ClientApi;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Hcs.ClientDemo
|
namespace Hcs.ClientDemo
|
||||||
{
|
{
|
||||||
@ -8,11 +10,10 @@ namespace Hcs.ClientDemo
|
|||||||
public static void DemoExportNsiItem51(HcsClient client)
|
public static void DemoExportNsiItem51(HcsClient client)
|
||||||
{
|
{
|
||||||
var result = client.Nsi.GetNsiItem(51).Result;
|
var result = client.Nsi.GetNsiItem(51).Result;
|
||||||
Console.WriteLine($"Результат операции:\r\n");
|
var json = JsonConvert.SerializeObject(result);
|
||||||
foreach (var obj in result)
|
Clipboard.SetText(json);
|
||||||
{
|
|
||||||
Console.WriteLine(obj.ToJSON());
|
Console.WriteLine($"Результат скопирован в буфер обмена!\r\n");
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,6 +65,7 @@
|
|||||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="ClientDemo\DebtRequestsDemo.cs" />
|
<Compile Include="ClientDemo\DebtRequestsDemo.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user