/// <summary> /// Экспорт лицевых счетов /// </summary> /// <param name="_orgPPAGUID"> /// Идентификатор зарегистрированной организации /// </param> /// <param name="_FIASHouseGuid"> /// Глобальный уникальный идентификатор дома по ФИАС /// </param> /// <returns></returns> public exportAccountDataResponse GetAccountData(string _orgPPAGUID, string _FIASHouseGuid) { var srvHouseMgmt = new HouseManagementPortsTypeClient(); srvHouseMgmt.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["_login"]; srvHouseMgmt.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["_pass"]; var reqHouseMgmtExpAcc = new exportAccountDataRequest { RequestHeader = new RequestHeader { Date = DateTime.Now, MessageGUID = Guid.NewGuid().ToString(), ItemElementName = ItemChoiceType2.orgPPAGUID, Item = _orgPPAGUID }, exportAccountRequest = new exportAccountRequest { version = "10.0.1.1", Id = CryptoConsts.CONTAINER_ID, ItemsElementName = new ItemsChoiceType10[] { ItemsChoiceType10.FIASHouseGuid }, Items = new string[] { _FIASHouseGuid } } }; exportAccountDataResponse resHouseMgmtExpAcc = null; do { try { resHouseMgmtExpAcc = srvHouseMgmt.exportAccountData(reqHouseMgmtExpAcc); } catch (Exception e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(e.Message); Console.ResetColor(); Thread.Sleep(1000); } }while (resHouseMgmtExpAcc is null); return(resHouseMgmtExpAcc); }
static void Main(string[] args) { // выбераем сертификат var cert = GetCert(); if (cert == null) { return; } Console.WriteLine("Укажите pin ЭЦП"); string pin = string.Empty;//Console.ReadLine(); var config = new ClientConfig { UseTunnel = false, IsPPAK = false, CertificateThumbprint = cert.Item2, OrgPPAGUID = "b14c8b87-6d0d-4854-a97c-74d34e1a8ca1", OrgEntityGUID = "c3ffd8b6-cda3-4eb5-9696-30fee607c8b3", Role = Globals.OrganizationRole.UK }; // иницализируем менеджер конечных точек ServicePointConfig.InitConfig(cert.Item2, pin, cert.Item1); var story = new MessageStory(); var broker = new MessageBroker(config, story); broker.AddHanbler(typeof(exportAccountResultType), ExportAccountResultHandler); broker.AddHanbler(typeof(exportHouseResultType), ExportHouseResultHandler); BuilderOption opt = new BuilderOption(); opt.IsOperator = false; opt.Direction = Framework.Enums.RequestDirection.Export; opt.Params.Add(Framework.Enums.ParametrType.OrgPPAGUID, "b14c8b87-6d0d-4854-a97c-74d34e1a8ca1"); opt.Params.Add(Framework.Enums.ParametrType.FIASHouseGUID, "7263796e-1d5a-4535-8def-93315e8975db"); var builder = new RequestBuilderFactory(); builder.BuildError += Factory_BuildError; builder.Add <exportHouseDataRequest, ExportHouse>(opt); builder.Add <exportAccountDataRequest, ExportAccount>(opt); exportHouseDataRequest request = null; exportAccountDataRequest request2 = null; exportStatusCAChDataRequest request3 = null; if (builder.TryBuild(opt, out request3)) { } if (builder.TryBuild(opt, out request)) { Console.WriteLine("Добавляем сообщения в очередь"); for (int i = 0; i < 10; i++) { request.RequestHeader.MessageGUID = Guid.NewGuid().ToString().ToLower(); broker.CreateMessage(request, EndPoints.HouseManagementAsync); } broker.CreateMessage(request, EndPoints.HouseManagementAsync); } if (builder.TryBuild(opt, out request2)) { broker.CreateMessage(request2, EndPoints.HouseManagementAsync); } broker.SendMessage(); Console.WriteLine("Отправлено"); broker.CheckResult(); Console.WriteLine("Обработка"); broker.Process(); Console.ReadKey(); }