Files
hcs/Hcs.TestApp/TestApp/Scenario/DeviceMeteringScenario.cs

67 lines
2.7 KiB
C#

using Hcs.Client;
using Hcs.Client.Api.Payload.DeviceMetering;
using Hcs.Client.Api.Registry;
using Hcs.Service.Async.DeviceMetering;
using System;
using System.Linq;
namespace Hcs.TestApp.Scenario
{
internal class DeviceMeteringScenario(UniClient client)
{
private readonly UniClient client = client;
internal void ExportMeteringDeviceHistory()
{
var result = client.DeviceMetering.ExportMeteringDeviceHistoryAsync(new ExportMeteringDeviceHistoryPayload()
{
fiasHouseGuid = ["c48e5025-f77a-494f-8aab-f773da623a25"],
meteringDeviceType = [Registry27.Element1]
}).Result;
Console.WriteLine("Scenario execution " + (result != null && result.Count() > 0 ? "succeeded" : "failed"));
}
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(),
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(),
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"));
}
}
}