Beispiel #1
0
        /// <summary>
        /// Передать контрольное показание ПУ
        /// </summary>
        /// <param name="_orgPPAGUID">
        /// Идентификатор зарегистрированной организации
        /// </param>
        /// <param name="_FIASHouseGuid">
        /// Глобальный уникальный идентификатор дома по ФИАС
        /// </param>
        /// <param name="_MeteringDeviceRootGUID">
        /// Идентификатор ПУ
        /// </param>
        /// <param name="_DateValue">
        /// Дата снятия показания
        /// </param>
        /// <param name="_ReadingSource">
        /// Кем внесено
        /// </param>
        /// <param name="_MeteringValue">
        /// Значение
        /// </param>
        /// <returns></returns>
        public importMeteringDeviceValuesResponse SetMeteringDeviceControlValue(string _orgPPAGUID, string _FIASHouseGuid, string _MeteringDeviceRootGUID, DateTime _DateValue, string _MeteringValue)
        {
            var srvDeviceMetering = new DeviceMeteringPortTypesClient();

            srvDeviceMetering.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["_login"];
            srvDeviceMetering.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["_pass"];

            var reqDeviceMeteringImp = new importMeteringDeviceValuesRequest1
            {
                RequestHeader = new RequestHeader
                {
                    Date            = DateTime.Now,
                    MessageGUID     = Guid.NewGuid().ToString(),
                    ItemElementName = ItemChoiceType1.orgPPAGUID,
                    Item            = _orgPPAGUID
                },
                importMeteringDeviceValuesRequest = new importMeteringDeviceValuesRequest
                {
                    version = "10.0.1.1",
                    //Id = CryptoConsts.CONTAINER_ID,
                    FIASHouseGuid         = _FIASHouseGuid,
                    MeteringDevicesValues = new importMeteringDeviceValuesRequestMeteringDevicesValues[]
                    {
                        new importMeteringDeviceValuesRequestMeteringDevicesValues
                        {
                            ItemElementName = ItemChoiceType.MeteringDeviceRootGUID,
                            Item            = _MeteringDeviceRootGUID,
                            Item1           = new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValue
                            {
                                ControlValue = new OneRateMeteringValueImportType[]
                                               //CurrentValue = new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue[]
                                {
                                    new OneRateMeteringValueImportType
                                    //new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue
                                    {
                                        TransportGUID = Guid.NewGuid().ToString(),
                                        //orgPPAGUID = _orgPPAGUID,
                                        DateValue         = _DateValue,
                                        MeteringValue     = _MeteringValue,
                                        MunicipalResource = new nsiRef
                                        {
                                            Code = "1",
                                            GUID = "c93bb0cd-0964-4253-a42a-4115130f4cab"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            var resMeteringDeviceImp = srvDeviceMetering.importMeteringDeviceValues(reqDeviceMeteringImp);

            return(resMeteringDeviceImp);
        }
Beispiel #2
0
        /// <summary>
        /// Передать текущее показание ПУ
        /// </summary>
        /// <param name="_orgPPAGUID">
        /// Идентификатор зарегистрированной организации
        /// </param>
        /// <param name="_FIASHouseGuid">
        /// Глобальный уникальный идентификатор дома по ФИАС
        /// </param>
        /// <param name="_MeteringDeviceRootGUID">
        /// Идентификатор ПУ
        /// </param>
        /// <param name="_DateValue">
        /// Дата снятия показания
        /// </param>
        /// <param name="_MeteringValue">
        /// Значение
        /// </param>
        /// <returns></returns>
        public importMeteringDeviceValuesResponse SetMeteringDeviceCurrentlValue(string _orgPPAGUID, string _FIASHouseGuid, string _MeteringDeviceRootGUID, DateTime _DateValue, string _MeteringValue)
        {
            var srvDeviceMetering = new DeviceMeteringPortTypesClient();

            srvDeviceMetering.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["_login"];
            srvDeviceMetering.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["_pass"];

            var reqDeviceMeteringImp = new importMeteringDeviceValuesRequest1
            {
                RequestHeader = new RequestHeader
                {
                    Date            = DateTime.Now,
                    MessageGUID     = Guid.NewGuid().ToString(),
                    ItemElementName = ItemChoiceType1.orgPPAGUID,
                    Item            = _orgPPAGUID
                },
                importMeteringDeviceValuesRequest = new importMeteringDeviceValuesRequest
                {
                    version = "10.0.1.1",
                    //Id = CryptoConsts.CONTAINER_ID,
                    FIASHouseGuid         = _FIASHouseGuid,
                    MeteringDevicesValues = new importMeteringDeviceValuesRequestMeteringDevicesValues[]
                    {
                        new importMeteringDeviceValuesRequestMeteringDevicesValues
                        {
                            ItemElementName = ItemChoiceType.MeteringDeviceRootGUID,
                            Item            = _MeteringDeviceRootGUID,
                            Item1           = new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValue
                            {
                                CurrentValue = new OneRateMeteringValueImportType[]
                                               //CurrentValue = new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue[]
                                {
                                    new OneRateMeteringValueImportType
                                    //new importMeteringDeviceValuesRequestMeteringDevicesValuesOneRateDeviceValueCurrentValue
                                    {
                                        TransportGUID = Guid.NewGuid().ToString(),
                                        //orgPPAGUID = _orgPPAGUID,
                                        DateValue         = _DateValue,
                                        MeteringValue     = _MeteringValue,
                                        MunicipalResource = new nsiRef
                                        {
                                            Code = "1",
                                            //GUID = "c93bb0cd-0964-4253-a42a-4115130f4cab" //SIT01
                                            GUID = "82f90cca-24dc-4ff7-ac66-05e53070e5a3" //prod
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            importMeteringDeviceValuesResponse resMeteringDeviceImp = null;

            do
            {
                try
                {
                    resMeteringDeviceImp = srvDeviceMetering.importMeteringDeviceValues(reqDeviceMeteringImp);
                }
                catch (Exception e)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(e.Message);
                    Console.ResetColor();
                    Thread.Sleep(1000);
                }
            }while (resMeteringDeviceImp is null);

            return(resMeteringDeviceImp);
        }