Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }