Add device metering values import

This commit is contained in:
2025-09-08 19:09:12 +09:00
parent 28079c4d84
commit 8b3e1249c0
25 changed files with 8727 additions and 0 deletions

View File

@ -0,0 +1,56 @@
using Hcs.Client;
using Hcs.Client.Api.Registry;
using Hcs.Service.Async.DeviceMetering;
using System;
namespace Hcs.TestApp.Scenario
{
internal class DeviceMeteringScenario(UniClient client)
{
private readonly UniClient client = client;
internal void ImportMeteringDeviceValues()
{
var values = new importMeteringDeviceValuesRequestMeteringDevicesValues()
{
// TODO: Вставить айди ПУ
Item = "",
ItemElementName = ItemChoiceType.MeteringDeviceRootGUID,
Item1 = new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValue()
{
CurrentValue = [new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue()
{
Period = new YearMonth()
{
Year = 2025,
Month = 9
},
DateValue = new DateTime(2025, 9, 25),
TransportGUID = Guid.NewGuid().ToString(),
// TODO: Переделать работу с НСИ
MunicipalResource = new nsiRef()
{
Code = Registry239.Element4.Code,
GUID = Registry239.Element4.GUID
},
MeteringValue = "100"
}],
ControlValue = [new OneRateMeteringValueImportType()
{
DateValue = new DateTime(2025, 9, 25),
TransportGUID = Guid.NewGuid().ToString(),
// TODO: Переделать работу с НСИ
MunicipalResource = new nsiRef()
{
Code = Registry239.Element4.Code,
GUID = Registry239.Element4.GUID
},
MeteringValue = "100"
}]
}
};
var result = client.DeviceMetering.ImportMeteringDeviceValuesAsync(values).Result;
Console.WriteLine("Scenario execution " + (result ? "succeeded" : "failed"));
}
}
}