/// <summary> /// Экспорт истории показаний и поверок приборов учета по идентификатору ПУ /// </summary> /// <param name="_orgPPAGUID"> /// Идентификатор зарегистрированной организации /// </param> /// <param name="_FIASHouseGuid"> /// Глобальный уникальный идентификатор дома по ФИАС /// </param> /// <param name="_MeteringDeviceRootGUID"> /// Идентификатор ПУ /// </param> /// <returns></returns> public exportMeteringDeviceHistoryResponse GetMeteringDeviceHistory(string _orgPPAGUID, string _FIASHouseGuid, string _MeteringDeviceRootGUID) { var srvDeviceMetering = new DeviceMeteringPortTypesClient(); srvDeviceMetering.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["_login"]; srvDeviceMetering.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["_pass"]; var reqDeviceMeteringExp = new exportMeteringDeviceHistoryRequest1 { RequestHeader = new RequestHeader { Date = DateTime.Now, MessageGUID = Guid.NewGuid().ToString(), ItemElementName = ItemChoiceType1.orgPPAGUID, Item = _orgPPAGUID }, exportMeteringDeviceHistoryRequest = new exportMeteringDeviceHistoryRequest { version = "10.0.1.1", //Id = CryptoConsts.CONTAINER_ID, FIASHouseGuid = _FIASHouseGuid, ItemsElementName = new ItemsChoiceType3[] { ItemsChoiceType3.MeteringDeviceRootGUID //ИД прибора }, Items = new object[] { _MeteringDeviceRootGUID //ИД прибора }, excludeISValuesSpecified = true, excludeISValues = false, SerchArchivedSpecified = true, SerchArchived = true } }; exportMeteringDeviceHistoryResponse resDeviceMeteringExp = null; do { try { resDeviceMeteringExp = srvDeviceMetering.exportMeteringDeviceHistory(reqDeviceMeteringExp); } catch (Exception e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(e.Message); Console.ResetColor(); Thread.Sleep(1000); } }while (resDeviceMeteringExp is null); return(resDeviceMeteringExp); }
/// <summary> /// Экспорт истории показаний и поверок приборов учета по НСИ2 (Коммунальный ресурс) /// </summary> /// <param name="_orgPPAGUID"> /// Идентификатор зарегистрированной организации /// </param> /// <param name="_FIASHouseGuid"> /// Глобальный уникальный идентификатор дома по ФИАС /// </param> /// <param name="_nsiRefCode"> /// Код записи справочника /// </param> /// <param name="_nsiRefGUID"> /// Идентификатор записи в справочнике НСИ2 /// </param> /// <returns></returns> public exportMeteringDeviceHistoryResponse GetMeteringDeviceHistory(string _orgPPAGUID, string _FIASHouseGuid, string _nsiRefCode, string _nsiRefGUID) { var srvDeviceMetering = new DeviceMeteringPortTypesClient(); srvDeviceMetering.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["_login"]; srvDeviceMetering.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["_pass"]; var reqDeviceMeteringExp = new exportMeteringDeviceHistoryRequest1 { RequestHeader = new RequestHeader { Date = DateTime.Now, MessageGUID = Guid.NewGuid().ToString(), ItemElementName = ItemChoiceType1.orgPPAGUID, Item = _orgPPAGUID }, exportMeteringDeviceHistoryRequest = new exportMeteringDeviceHistoryRequest { version = "10.0.1.1", //Id = CryptoConsts.CONTAINER_ID, FIASHouseGuid = _FIASHouseGuid, ItemsElementName = new ItemsChoiceType3[] { ItemsChoiceType3.MunicipalResource //Коммунальный ресурс }, Items = new object[] { new nsiRef //Коммунальный ресурс: ХВС { Code = _nsiRefCode, GUID = _nsiRefGUID } }, excludeISValuesSpecified = true, excludeISValues = true, SerchArchivedSpecified = true, SerchArchived = true } }; var resDeviceMeteringExp = srvDeviceMetering.exportMeteringDeviceHistory(reqDeviceMeteringExp); return(resDeviceMeteringExp); }
/// <summary> /// Экспорт истории показаний и поверок приборов учета по идентификатору ПУ /// </summary> /// <param name="_orgPPAGUID"> /// Идентификатор зарегистрированной организации /// </param> /// <param name="_FIASHouseGuid"> /// Глобальный уникальный идентификатор дома по ФИАС /// </param> /// <param name="_MeteringDeviceRootGUID"> /// Идентификатор ПУ /// </param> /// <returns></returns> public exportMeteringDeviceHistoryResponse GetMeteringDeviceHistory(string _orgPPAGUID, string _FIASHouseGuid, string _MeteringDeviceRootGUID) { var srvDeviceMetering = new DeviceMeteringPortTypesClient(); srvDeviceMetering.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["_login"]; srvDeviceMetering.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["_pass"]; var reqDeviceMeteringExp = new exportMeteringDeviceHistoryRequest1 { RequestHeader = new RequestHeader { Date = DateTime.Now, MessageGUID = Guid.NewGuid().ToString(), ItemElementName = ItemChoiceType1.orgPPAGUID, Item = _orgPPAGUID }, exportMeteringDeviceHistoryRequest = new exportMeteringDeviceHistoryRequest { version = "10.0.1.1", Id = CryptoConsts.CONTAINER_ID, FIASHouseGuid = _FIASHouseGuid, ItemsElementName = new ItemsChoiceType3[] { ItemsChoiceType3.MeteringDeviceRootGUID //ИД прибора }, Items = new object[] { _MeteringDeviceRootGUID //ИД прибора }, excludeISValuesSpecified = true, excludeISValues = false, SerchArchivedSpecified = true, SerchArchived = true } }; exportMeteringDeviceHistoryResponse resDeviceMeteringExp = null; do { try { resDeviceMeteringExp = srvDeviceMetering.exportMeteringDeviceHistory(reqDeviceMeteringExp); } catch (Exception e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(e.Message); Console.ResetColor(); Thread.Sleep(1000); if (e.GetType() == typeof(FaultException <Fault>)) { //Если превышено время обработки запроса, то меняем его идентификатор, что бы не выполнялось два одинаковых запроса одновременно if (((FaultException <Fault>)e).Detail.ErrorCode.Equals("EXP002002")) { reqDeviceMeteringExp.RequestHeader.MessageGUID = Guid.NewGuid().ToString(); } } } }while (resDeviceMeteringExp is null); return(resDeviceMeteringExp); }