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

149 lines
7.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Hcs.Client;
using Hcs.Client.Api.Payload.HouseManagement;
using Hcs.Client.Api.Registry;
using Hcs.Service.Async.HouseManagement;
using System;
namespace Hcs.TestApp.Scenario
{
internal class HouseManagementScenario(UniClient client)
{
private readonly UniClient client = client;
internal void ExportAllSupplyResourceContractData()
{
var result = client.HouseManagement.ExportSupplyResourceContractDataAsync().Result;
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
}
internal void ExportSupplyResourceContractDataByGuid()
{
var result = client.HouseManagement.ExportSupplyResourceContractDataAsync(Guid.Parse("575a7ff9-5473-4ab4-b077-fa80c1f85f0b")).Result;
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
}
internal void ExportSupplyResourceContractDataByNumber()
{
var result = client.HouseManagement.ExportSupplyResourceContractDataAsync("239009043").Result;
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
}
internal void ExportSupplyResourceContractObjectAddressData()
{
var result = client.HouseManagement.ExportSupplyResourceContractObjectAddressDataAsync(Guid.Parse("575a7ff9-5473-4ab4-b077-fa80c1f85f0b")).Result;
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
}
internal void ImportSupplyResourceContractData()
{
var signingDate = new DateTime(2017, 01, 01);
var effectiveDate = new DateTime(2017, 01, 01);
var comptetionDate = new DateTime(2078, 12, 31);
var objectAddressGuid = Guid.NewGuid().ToString();
var contractSubjectGuid = Guid.NewGuid().ToString();
var normGuid = Guid.NewGuid().ToString();
var payload = new ImportSupplyResourceContractDataPayload()
{
isContract = false,
contractNumber = "239297999",
signingDate = signingDate,
effectiveDate = effectiveDate,
// TODO: Очень странно, что сервис не дает отправить значения
// для indefiniteTerm и automaticRollOverOneYear одновременно,
// хотя в выгружаемом шаблоне они оба заполнены
//indefiniteTerm = false,
automaticRollOverOneYear = true,
comptetionDate = comptetionDate,
// TODO: Не дает выгрузить период
//period = new SupplyResourceContractTypePeriod()
//{
// Start = new SupplyResourceContractTypePeriodStart()
// {
// StartDate = 20,
// // TODO: Ломается если отправить NextMonth = false, если отправить true - то все ОК
// //NextMonth = false,
// //NextMonthSpecified = true
// },
// End = new SupplyResourceContractTypePeriodEnd()
// {
// EndDate = 25,
// //NextMonth = false,
// //NextMonthSpecified = true
// }
//},
isPlannedVolume = false,
contractSubject = [new SupplyResourceContractTypeContractSubject()
{
TransportGUID = contractSubjectGuid,
ServiceType = Registry3.Element6,
MunicipalResource = Registry239.Element4,
StartSupplyDate = effectiveDate,
EndSupplyDate = comptetionDate,
EndSupplyDateSpecified = true
}],
specifyingQualityIndicators = SupplyResourceContractTypeSpecifyingQualityIndicators.D,
objectAddress = [new SupplyResourceContractTypeObjectAddress()
{
TransportGUID = objectAddressGuid,
Pair = [new SupplyResourceContractTypeObjectAddressPair()
{
PairKey = contractSubjectGuid,
StartSupplyDate = effectiveDate,
EndSupplyDate = comptetionDate,
EndSupplyDateSpecified = true,
HeatingSystemType = new SupplyResourceContractTypeObjectAddressPairHeatingSystemType()
{
OpenOrNot = SupplyResourceContractTypeObjectAddressPairHeatingSystemTypeOpenOrNot.Opened,
CentralizedOrNot = SupplyResourceContractTypeObjectAddressPairHeatingSystemTypeCentralizedOrNot.Decentralized
}
}],
FIASHouseGuid = "e606fca9-1ac4-41a1-8478-a9feb6cdfa78"
}],
quality = [new SupplyResourceContractTypeQuality()
{
PairKey = contractSubjectGuid,
QualityIndicator = Registry276.Element4,
IndicatorValue = new SupplyResourceContractTypeQualityIndicatorValue()
{
Items = [9.76m, 10m, "214"],
ItemsElementName = [ItemsChoiceType10.StartRange, ItemsChoiceType10.EndRange, ItemsChoiceType10.OKEI]
}
}, new SupplyResourceContractTypeQuality()
{
PairKey = contractSubjectGuid,
QualityIndicator = Registry276.Element10,
IndicatorValue = new SupplyResourceContractTypeQualityIndicatorValue()
{
Items = [0.05m, 0.3m, "298"],
ItemsElementName = [ItemsChoiceType10.StartRange, ItemsChoiceType10.EndRange, ItemsChoiceType10.OKEI]
}
}],
billingDate = new SupplyResourceContractTypeBillingDate()
{
Date = 1,
DateType = SupplyResourceContractTypeBillingDateDateType.N
},
paymentDate = new SupplyResourceContractTypePaymentDate()
{
Date = 10,
DateType = SupplyResourceContractTypePaymentDateDateType.N
},
// TODO: Не дает задать этот параметр, из-за чего приходится удалять период
meteringDeviceInformation = true,
volumeDepends = false,
oneTimePayment = false,
norm = [new SupplyResourceContractTypeNorm()
{
PairKey = contractSubjectGuid,
Items = [true],
NormGUID = normGuid
}]
};
var result = client.HouseManagement.ImportSupplyResourceContractDataAsync(payload).Result;
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
}
}
}