public Device fromBoxToDevice()
        {
            Device deviceToChange = null;

            switch (this.className())
            {
            case "DeviceDataBox_Quality":
                deviceToChange = new DeviceQuality((DeviceDataBox_Quality)this);
                break;

            case "DeviceDataBox_XH3125":
                deviceToChange = new DeviceXH31253127((DeviceDataBox_XH3125)this);
                break;

            case "DeviceDataBox_6517AB":
                deviceToChange = new Device6517AB((DeviceDataBox_6517AB)this);
                break;

            case "DeviceDataBox_JL900":
                deviceToChange = new DeviceJL900((DeviceDataJL900Box)this);
                break;

            case "DeviceDataASM02Box":
                deviceToChange = new DeviceASM02((DeviceDataASM02Box)this);
                break;

            case "DeviceDataBox_DryWet":
                deviceToChange = new DeviceDryWet((DeviceDataDryWetBox)this);
                break;

            default:
                deviceToChange = new Device(this);
                break;
            }
            return(deviceToChange);
        }
Beispiel #2
0
        public void InitialData()  //初始化数据
        {
            if (Utils.isFirstIn()) //第一次进入创建数据表和sequence
            {
                initDatabase();
            }
            DBManager        dbOfDevice = new DBManager();
            string           errorCode  = "";
            int              errCode    = (int)ErrorCode.ERR_CODE.OK;
            OracleDataReader odr        = null;
            OracleDataReader odr2       = null;
            OracleDataReader odr3       = null;

            try
            {
                errCode = dbOfDevice.OpenConnection(DBHelper.db_userName, DBHelper.db_userPassWord, DBHelper.db_ip, DBHelper.db_port, DBHelper.db_name, ref errorCode);
                if (errCode != (int)ErrorCode.ERR_CODE.OK)
                {
                    LogUtil.Log(true, "数据库连接建立异常", (int)ErrorCode.ERR_CODE.CONNECTION_OPEN_ERR);
                    return;
                }
                odr = readBuidingFromDb();
                if (odr.HasRows)
                {
                    while (odr.Read()) //找所有的building
                    {
                        string   state    = WpfApplication2.package.DeviceDataBox_Base.State.Normal.ToString();
                        Building building = new Building("" + odr.GetInt32(0), odr.GetString(1), odr.GetString(2), odr.GetString(3), odr.GetFloat(4), odr.GetFloat(5), new List <Cab>(), state, odr.GetString(6));
                        Console.WriteLine(building.Name);
                        odr2 = readCabFromDb(dbOfDevice, odr);
                        if (odr2.HasRows)
                        {
                            while (odr2.Read()) //找每个building对应的cab5
                            {
                                Cab cab = new Cab("" + odr2.GetInt32(0), "" + odr2.GetInt32(1), "" + odr2.GetString(2), odr2.GetString(3), odr2.GetString(4), odr2.GetString(5), odr2.GetString(6), new List <Device>(), state);
                                odr3 = readDeviceFromDb(dbOfDevice, odr2, cab);
                                Console.WriteLine(building.Name + " :" + cab.Name);
                                while (odr3.Read())
                                {
                                    Device device = null;
                                    switch (odr3.GetString(15))
                                    {
                                    case "XH3125":
                                        device = new DeviceXH31253127(odr3);
                                        break;

                                    case "Pump":
                                        device = new DevicePump(odr3);
                                        break;

                                    case "6517AB":
                                        device = new Device6517AB(odr3);
                                        break;

                                    case "Quality":
                                        device = new DeviceQuality(odr3);
                                        break;

                                    case "DryWet":
                                        device = new DeviceDryWet(odr3);
                                        break;

                                    case "Asm02":
                                        device = new DeviceASM02(odr3);
                                        break;

                                    case "Jl900":
                                        device = new DeviceJL900(odr3);
                                        break;

                                    default:
                                        device = new Device(odr3);
                                        break;
                                    }
                                    cab.Devices.Add(device);
                                    Console.WriteLine(building.Name + " :" + cab.Name + ":" + device.Type);
                                    GlobalMapForShow.globalMapForDevice.Add(building.SystemId + "_" + device.DeviceId, device);
                                }
                                GlobalMapForShow.globalMapForCab.Add(building.SystemId + "_" + cab.CabId, cab);
                                odr3.Close();
                                building.Cabs.Add(cab);
                            }
                        }
                        odr2.Close();
                        GlobalMapForShow.globalMapForBuiding.Add(building.SystemId, building);
                    }
                }
                odr.Close();
                dbOfDevice.CloseConnection();
            }
            catch (Exception e)
            {
                LogUtil.Log(true, e.Message, (int)ErrorCode.ERR_CODE.MAP_POINTS_INIT_ERR);
            }
        }