311 lines
14 KiB
C#
311 lines
14 KiB
C#
using Hcs.Client;
|
||
using Hcs.Client.Api.Payload.HouseManagement;
|
||
using Hcs.Client.Api.Registry;
|
||
using Hcs.Service.Async.HouseManagement;
|
||
using System;
|
||
using System.Linq;
|
||
|
||
namespace Hcs.TestApp.Scenario
|
||
{
|
||
internal class HouseManagementScenario(UniClient client)
|
||
{
|
||
private readonly UniClient client = client;
|
||
|
||
internal void ExportAccount()
|
||
{
|
||
var result = client.HouseManagement.ExportAccountAsync("c48e5025-f77a-494f-8aab-f773da623a25").Result;
|
||
Console.WriteLine("Scenario execution " + (result != null && result.Count() > 0 ? "succeeded" : "failed"));
|
||
}
|
||
|
||
internal void ExportHouse()
|
||
{
|
||
var result = client.HouseManagement.ExportHouseAsync("c48e5025-f77a-494f-8aab-f773da623a25").Result;
|
||
Console.WriteLine("Scenario execution " + (result != null && result.Count() > 0 ? "succeeded" : "failed"));
|
||
}
|
||
|
||
internal void ExportAllSupplyResourceContractData()
|
||
{
|
||
var result = client.HouseManagement.ExportSupplyResourceContractDataAsync().Result;
|
||
Console.WriteLine("Scenario execution " + (result != null && result.Count() > 0 ? "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 ImportAccountData()
|
||
{
|
||
var payload = new ImportAccountDataPayload()
|
||
{
|
||
accountNumber = "458938932489324",
|
||
accountReasons = new AccountReasonsImportType()
|
||
{
|
||
SupplyResourceContract =
|
||
[
|
||
new()
|
||
{
|
||
Items = ["2fb693f0-3ac8-4a9a-af0e-cb6515d61370"],
|
||
ItemsElementName = [ItemsChoiceType17.ContractGUID]
|
||
}
|
||
]
|
||
},
|
||
accountType = ImportAccountDataPayload.AccountType.RSO,
|
||
livingPersonsNumber = 1,
|
||
totalSquare = 29.3m,
|
||
residentialSquare = 29.3m,
|
||
heatedArea = 29.3m,
|
||
accomodations =
|
||
[
|
||
new()
|
||
{
|
||
Item = "6e011824-3d8a-48d7-b0ee-7b36be7096bf",
|
||
ItemElementName = ItemChoiceType9.PremisesGUID
|
||
}
|
||
],
|
||
payerInfo = new AccountTypePayerInfo()
|
||
{
|
||
IsRenter = true,
|
||
IsRenterSpecified = true,
|
||
Item = new AccountIndType()
|
||
{
|
||
Item = "26041127927",
|
||
FirstName = "Имя",
|
||
Surname = "Фамилия",
|
||
Patronymic = "Отчество"
|
||
}
|
||
}
|
||
};
|
||
var result = client.HouseManagement.ImportAccountDataAsync(payload).Result;
|
||
Console.WriteLine("Scenario execution " + (result ? "succeeded" : "failed"));
|
||
}
|
||
|
||
internal void ImportContractData()
|
||
{
|
||
var signingDate = new DateTime(2017, 01, 01);
|
||
var effectiveDate = new DateTime(2017, 01, 01);
|
||
var planComptetionDate = new DateTime(2078, 12, 31);
|
||
|
||
var payload = new ImportContractDataPayload()
|
||
{
|
||
contractObjects = [new importContractRequestContractPlacingContractContractObject()
|
||
{
|
||
TransportGUID = Guid.NewGuid().ToString(),
|
||
BaseMService = new BaseServiceType()
|
||
{
|
||
Item = true
|
||
},
|
||
FIASHouseGuid = "cf9c25b6-c7a4-40db-81f2-c97bfa46b903",
|
||
StartDate = signingDate
|
||
}],
|
||
docNum = "11111111",
|
||
signingDate = signingDate,
|
||
effectiveDate = effectiveDate,
|
||
planDateComptetion = planComptetionDate,
|
||
contractBase = Registry58.Element8,
|
||
dateDetailsType = new DateDetailsType()
|
||
{
|
||
PeriodMetering = new DateDetailsTypePeriodMetering()
|
||
{
|
||
StartDate = new DeviceMeteringsDaySelectionType()
|
||
{
|
||
Item = (sbyte)20,
|
||
IsNextMonth = true
|
||
},
|
||
EndDate = new DeviceMeteringsDaySelectionType()
|
||
{
|
||
Item = (sbyte)25,
|
||
IsNextMonth = true
|
||
}
|
||
},
|
||
PaymentDocumentInterval = new DateDetailsTypePaymentDocumentInterval()
|
||
{
|
||
Item = true,
|
||
Item1 = true,
|
||
Item1ElementName = Item1ChoiceType4.NextMounth
|
||
},
|
||
PaymentInterval = new DateDetailsTypePaymentInterval()
|
||
{
|
||
Item = true,
|
||
Item1 = true,
|
||
Item1ElementName = Item1ChoiceType5.NextMounth
|
||
}
|
||
},
|
||
contractAttachment = [new AttachmentType()
|
||
{
|
||
Name = "Наименование вложения",
|
||
Description = "Описание вложения",
|
||
Attachment = new Attachment()
|
||
{
|
||
AttachmentGUID = Guid.NewGuid().ToString()
|
||
},
|
||
AttachmentHASH = ""
|
||
}]
|
||
};
|
||
var result = client.HouseManagement.ImportContractDataAsync(payload).Result;
|
||
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
|
||
}
|
||
|
||
internal void ImportLivingHouseUOData()
|
||
{
|
||
var payload = new ImportLivingHouseUODataPayload()
|
||
{
|
||
fiasHouseGuid = Guid.Parse("db041c58-4a14-45ce-8ecc-d99727e9683f"),
|
||
totalSquare = 29.3m,
|
||
state = Registry24.Element2,
|
||
lifeCycleStage = Registry338.Element1,
|
||
usedYear = 2000,
|
||
floorCount = 1,
|
||
oktmo = new OKTMORefType()
|
||
{
|
||
code = "98641101001"
|
||
},
|
||
olsonTZ = Registry32.Element11,
|
||
culturalHeritage = false,
|
||
isMunicipalProperty = false,
|
||
isRegionProperty = false,
|
||
conditionalNumber = "1234567890"
|
||
};
|
||
var result = client.HouseManagement.ImportHouseUODataAsync(payload).Result;
|
||
Console.WriteLine("Scenario execution " + (result ? "succeeded" : "failed"));
|
||
}
|
||
|
||
internal void ImportNotificationData()
|
||
{
|
||
var payload = new ImportNotificationDataPayload()
|
||
{
|
||
topic = "Тема новости",
|
||
isImportant = true,
|
||
content = "Содержимое новости",
|
||
destinations =
|
||
[
|
||
new(ItemsChoiceType29.IsAll, true)
|
||
],
|
||
isNotLimit = true,
|
||
isShipOff = true
|
||
};
|
||
var result = client.HouseManagement.ImportNotificationDataAsync(payload).Result;
|
||
Console.WriteLine("Scenario execution " + (result ? "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 payload = new ImportSupplyResourceContractDataPayload()
|
||
{
|
||
isContract = false,
|
||
contractNumber = "88888888",
|
||
signingDate = signingDate,
|
||
effectiveDate = effectiveDate,
|
||
automaticRollOverOneYear = true,
|
||
comptetionDate = comptetionDate,
|
||
// TODO: Не дает выгрузить период
|
||
//period = new SupplyResourceContractTypePeriod()
|
||
//{
|
||
// Start = new SupplyResourceContractTypePeriodStart()
|
||
// {
|
||
// StartDate = 20
|
||
// },
|
||
// End = new SupplyResourceContractTypePeriodEnd()
|
||
// {
|
||
// EndDate = 25
|
||
// }
|
||
//},
|
||
counterparty = 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
|
||
}
|
||
}],
|
||
HouseType = ObjectAddressTypeHouseType.MKD,
|
||
HouseTypeSpecified = true,
|
||
FIASHouseGuid = "c48e5025-f77a-494f-8aab-f773da623a25",
|
||
ApartmentNumber = "1"
|
||
}],
|
||
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,
|
||
// TODO: Пока не понятно, откуда берется NormGUID
|
||
//norm = [new SupplyResourceContractTypeNorm()
|
||
//{
|
||
// PairKey = contractSubjectGuid,
|
||
// Items = [true],
|
||
// NormGUID = ""
|
||
//}]
|
||
};
|
||
var result = client.HouseManagement.ImportSupplyResourceContractDataAsync(payload).Result;
|
||
Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
|
||
}
|
||
}
|
||
}
|