Files
hcs/Hcs.TestApp/ClientDemo/HouseManagementDemo.cs

168 lines
8.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.ClientApi;
using Hcs.ClientApi.DataTypes;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace Hcs.ClientDemo
{
public class HouseManagementDemo
{
public static void DemoExportOrgRegistry(HcsClient client)
{
string ogrn = "1031402044145";
string kpp = "";
var orgs = client.OrgRegistryCommon.GetOrgByOgrn(ogrn, kpp).Result;
Console.WriteLine($"Организация с ОГРН={ogrn} имеет {orgs.Count()} orgs:");
foreach (var org in orgs)
Console.WriteLine($" {org}");
}
public static void DemoExportOneContract(HcsClient client)
{
var guid = new Guid("575a7ff9-5473-4ab4-b077-fa80c1f85f0b");
var договор = client.HouseManagement.ПолучитьДоговорРСО(guid).Result;
Console.WriteLine($"Получен договор №{договор.НомерДоговора} Статус={договор.СтатусВерсииДоговора}");
if (договор.ПриложенияДоговора != null && договор.ПриложенияДоговора.Length > 0)
{
var приложение = договор.ПриложенияДоговора[0];
Console.WriteLine($"Приложение: {приложение.ИмяПриложения} HASH={приложение.ХэшПриложения}");
FileStoreDemo.PrintFileHash(client, $"d:\\\\temp\\{приложение.ИмяПриложения}");
}
}
public static void DemoTerminateOneContract(HcsClient client)
{
var guid = new Guid("575a7ff9-5473-4ab4-b077-fa80c1f85f0b");
var договор = client.HouseManagement.ПолучитьДоговорРСО(guid).Result;
Console.WriteLine($"Получен договор №{договор.НомерДоговора} Статус={договор.СтатусВерсииДоговора}");
var d = client.HouseManagement.РасторгнутьДоговор(договор, new DateTime(2019, 4, 1)).Result;
Console.WriteLine($"Дата внесения расторжения договора: {d}");
}
public static void DemoImportNewContract(HcsClient client)
{
var договор = new ГисДоговор
{
ТипДоговораРСО = ГисТипДоговораРСО.ПубличныйИлиНежилые,
НомерДоговора = "239009043",
ДатаЗаключения = new DateTime(2017, 1, 1),
Контрагент = new ГисКонтрагент()
{
ТипКонтрагента = ГисТипКонтрагента.ВладелецПомещения,
Индивид = new ГисИндивид()
{
Фамилия = "Пупкин",
Имя = "Василий",
Отчество = "Васильевич",
СНИЛС = "62392021264"
}
}
};
var адреса = new List<ГисАдресныйОбъект>()
{
new()
{
ГуидЗданияФиас = Guid.Parse("ff77e30f-a435-49fb-ae44-165c624f74d2"),
НомерПомещения = "70"
}
};
var d = client.HouseManagement.РазместитьДоговор(договор, адреса).Result;
Console.WriteLine($"Дата внесения нового договора: {d}");
}
public static void DemoExportContractTrees(HcsClient client)
{
var stopwatch = System.Diagnostics.Stopwatch.StartNew();
Func<ГисДоговор, bool> contractFilter = (договор) =>
{
if (договор.СтатусВерсииДоговора == ГисСтатусВерсииДоговора.Аннулирован) return false;
if (договор.СтатусВерсииДоговора == ГисСтатусВерсииДоговора.Расторгнут) return false;
// ГИС возвращает проекты, но не может их найти по коду
if (договор.СтатусВерсииДоговора == ГисСтатусВерсииДоговора.Проект) return false;
if ("ЭККУК" == договор.НомерДоговора) return false;
if ("ЭККЧС" == договор.НомерДоговора) return false;
if ("ЭККНСУ" == договор.НомерДоговора) return false;
return true;
};
var все = client.HouseManagement.ПолучитьВсеДоговорыИПриборы(contractFilter).Result;
using (StreamWriter file = File.CreateText(@"all.json"))
{
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(file, все);
}
stopwatch.Stop();
Console.WriteLine($"{все}: {stopwatch.Elapsed}");
}
public static void DemoExportMeteringDevices(HcsClient client)
{
Action<ГисПриборУчета> resultHandler = (прибор) =>
{
Console.WriteLine("" + прибор);
};
var houseGuid = Guid.Parse("ff77e30f-a435-49fb-ae44-165c624f74d2");
var n = client.HouseManagement.ПолучитьПриборыУчетаПоЗданию(houseGuid, resultHandler).Result;
Console.WriteLine("n = " + n);
}
public static void DemoExportContractAddressObjects(HcsClient client)
{
Action<ГисАдресныйОбъект> resultHandler = (адрес) =>
{
Console.WriteLine("" + адрес);
};
var гуидДоговора = new Guid("575a7ff9-5473-4ab4-b077-fa80c1f85f0b");
var договор = new ГисДоговор() { ГуидДоговора = гуидДоговора };
var n = client.HouseManagement.ПолучитьАдресаДоговораРСО(договор, resultHandler).Result;
Console.WriteLine("n = " + n);
}
public static void DemoExportAccounts(HcsClient client)
{
Action<ГисЛицевойСчет> resultHandler = (лс) =>
{
Console.WriteLine("" + лс);
};
var houseGuid = Guid.Parse("ff77e30f-a435-49fb-ae44-165c624f74d2");
var n = client.HouseManagement.ПолучитьЛицевыеСчетаПоЗданию(houseGuid, resultHandler).Result;
Console.WriteLine("n = " + n);
}
public static void DemoExportSupplyResourceContracts(HcsClient client)
{
var договоры = new List<ГисДоговор>();
Action<ГисДоговор> resultHandler = (договорРСО) => { договоры.Add(договорРСО); };
var n = client.HouseManagement.ПолучитьДоговорыРСО(resultHandler).Result;
договоры.Sort((x, y) => string.Compare(x.НомерДоговора, y.НомерДоговора));
договоры.ForEach(x => Console.WriteLine(x.ToString()));
Console.WriteLine("n = " + n);
}
public static void DemoExportOneHouse(HcsClient client)
{
var guid = Guid.Parse("ff77e30f-a435-49fb-ae44-165c624f74d2");
var здание = client.HouseManagement.ПолучитьЗданиеПоГуидФиас(guid).Result;
Console.WriteLine("ГисЗдание = " + здание);
foreach (var помещение in здание.Помещения)
{
Console.WriteLine(помещение.ToString());
}
}
}
}