コード例 #1
0
        /// <summary>
        /// 获取IP地址(命令)
        /// </summary>
        /// <param name="DianYuanID"></param>
        /// <returns></returns>
        public async Task <PowerIPConfigInfo> SendCMD_GetIP(string DianYuanID)
        {
            PowerIPConfigInfo vIPConfigResult = new PowerIPConfigInfo();
            bool vResult = await asyncSendCommandToDB(DianYuanID, PowerDataPack_Send_CommandEnum.Send_GetIPAddress);

            if (vResult)
            {
                PowerNetConfigEFModel vPowerNetConfigEFModel = new PowerNetConfigEFModel()
                {
                    MAC = DianYuanID
                };

                PowerNetConfigEFModel[] vSelectResult = m_BasicDBClass_Send.SelectRecordsEx(vPowerNetConfigEFModel);
                if (vSelectResult != null && vSelectResult.Length > 0)
                {
                    vIPConfigResult = new PowerIPConfigInfo()
                    {
                        MAC             = DianYuanID,
                        Gateway         = vSelectResult[0].Gateway,
                        IPAddress       = vSelectResult[0].IPAddress,
                        IsDHCP          = vSelectResult[0].DHCP,
                        Port            = vSelectResult[0].Port ?? 0,
                        ServerIPAddress = vSelectResult[0].ServerIPAddress,
                        ServerPort      = vSelectResult[0].ServerPort ?? 0,
                        SubMask         = vSelectResult[0].SubMask
                    };
                }
            }
            return(vIPConfigResult);
        }
コード例 #2
0
        /// <summary>
        /// 获取电源IP配置
        /// </summary>
        /// <param name="DianYuanID"></param>
        /// <returns></returns>
        public PowerIPConfigInfo GetIPConfig(string DianYuanID)
        {
            PowerIPConfigInfo vIPConfigResult = new PowerIPConfigInfo();

            PowerNetConfigEFModel vPowerNetConfigEFModel = new PowerNetConfigEFModel()
            {
                MAC = DianYuanID
            };

            PowerNetConfigEFModel[] vSelectResult = m_BasicDBClass_Send.SelectRecordsEx(vPowerNetConfigEFModel);
            if (vSelectResult != null && vSelectResult.Length > 0)
            {
                vIPConfigResult = new PowerIPConfigInfo()
                {
                    MAC             = DianYuanID,
                    Gateway         = vSelectResult[0].Gateway,
                    IPAddress       = vSelectResult[0].IPAddress,
                    IsDHCP          = vSelectResult[0].DHCP,
                    Port            = vSelectResult[0].Port ?? 0,
                    ServerIPAddress = vSelectResult[0].ServerIPAddress,
                    ServerPort      = vSelectResult[0].ServerPort ?? 0,
                    SubMask         = vSelectResult[0].SubMask
                };
            }
            return(vIPConfigResult);
        }
コード例 #3
0
        /// <summary>
        /// 设置IP地址(命令)
        /// </summary>
        /// <param name="DianYuanID"></param>
        /// <param name="IPConfig"></param>
        /// <returns></returns>
        public async Task <bool> SendCMD_SetIP(string DianYuanID, PowerIPConfigInfo IPConfig)
        {
            byte[] vIPAddress    = NetHelper.StringToBytes_IP(IPConfig.IPAddress);
            byte[] vSubMaksArray = NetHelper.StringToBytes_IP(IPConfig.SubMask);
            byte[] vGateway      = NetHelper.StringToBytes_IP(IPConfig.Gateway);
            byte[] vMAC          = NetHelper.StringToBytes_MAC(IPConfig.MAC);
            byte[] vServerIP     = NetHelper.StringToBytes_IP(IPConfig.ServerIPAddress);


            PowerDataPack_Send_SetIPAddress vData = new PowerDataPack_Send_SetIPAddress()
            {
                IPAddress1 = vIPAddress[0],
                IPAddress2 = vIPAddress[1],
                IPAddress3 = vIPAddress[2],
                IPAddress4 = vIPAddress[3],

                SubnetMask1 = vSubMaksArray[0],
                SubnetMask2 = vSubMaksArray[1],
                SubnetMask3 = vSubMaksArray[2],
                SubnetMask4 = vSubMaksArray[3],

                Gateway1 = vGateway[0],
                Gateway2 = vGateway[1],
                Gateway3 = vGateway[2],
                Gateway4 = vGateway[3],

                MAC1 = vMAC[0],
                MAC2 = vMAC[1],
                MAC3 = vMAC[2],
                MAC4 = vMAC[3],
                MAC5 = vMAC[4],
                MAC6 = vMAC[5],

                ServerIPAddress1 = vServerIP[0],
                ServerIPAddress2 = vServerIP[1],
                ServerIPAddress3 = vServerIP[2],
                ServerIPAddress4 = vServerIP[3],

                Port1 = (byte)(IPConfig.Port >> 8),
                Port2 = (byte)(IPConfig.Port >> 0),

                ServerPort1 = (byte)(IPConfig.ServerPort >> 8),
                ServerPort2 = (byte)(IPConfig.ServerPort >> 0),

                DHCP = IPConfig.IsDHCP ? (byte)0x01 : (byte)0x00
            };
            bool vResult = await asyncSendCommandToDB(DianYuanID, PowerDataPack_Send_CommandEnum.SetIPAddress, vData);

            if (vResult)
            {
                PowerNetConfigEFModel vPowerNetConfigEFModel = new PowerNetConfigEFModel()
                {
                    DHCP            = IPConfig.IsDHCP,
                    Gateway         = IPConfig.Gateway,
                    IPAddress       = IPConfig.IPAddress,
                    MAC             = IPConfig.MAC,
                    Port            = IPConfig.Port,
                    ServerIPAddress = IPConfig.ServerIPAddress,
                    ServerPort      = IPConfig.ServerPort,
                    SubMask         = IPConfig.SubMask
                };
                string vSql = string.Format("MAC='{0}'", IPConfig.MAC);
                m_BasicDBClass_Send.TransactionBegin();
                m_BasicDBClass_Send.DeleteRecordCustom <PowerNetConfigEFModel>(vSql);
                m_BasicDBClass_Send.InsertRecord(vPowerNetConfigEFModel);
                m_BasicDBClass_Send.TransactionCommit();
            }
            return(vResult);
        }