Exemple #1
0
        public ManualControlBoard ToManualControlBoard()
        {
            ManualControlBoard mcb = new ManualControlBoard();

            mcb.ID            = this.ID;
            mcb.Code          = this.Code;
            mcb.BoardNo       = this.BoardNo;
            mcb.SubBoardNo    = this.SubBoardNo;
            mcb.KeyNo         = this.KeyNo;
            mcb.DeviceCode    = this.DeviceCode;
            mcb.ControlType   = this.ControlType;
            mcb.LocalDevice1  = this.LocalDevice1;
            mcb.LocalDevice2  = this.LocalDevice2;
            mcb.LocalDevice3  = this.LocalDevice3;
            mcb.LocalDevice4  = this.LocalDevice4;
            mcb.NetDevice1    = this.NetDevice1;
            mcb.NetDevice2    = this.NetDevice2;
            mcb.NetDevice3    = this.NetDevice3;
            mcb.NetDevice4    = this.NetDevice4;
            mcb.BuildingNo    = this.BuildingNo;
            mcb.AreaNo        = this.AreaNo;
            mcb.FloorNo       = this.FloorNo;
            mcb.DeviceType    = this.DeviceType;
            mcb.LinkageGroup  = this.LinkageGroup;
            mcb.SDPKey        = this.SDPKey;
            mcb.MaxSubBoardNo = this.MaxSubBoardNo;
            mcb.Controller    = this.Controller;
            mcb.ControllerID  = this.ControllerID;
            return(mcb);
        }
Exemple #2
0
 public bool Update(ManualControlBoard mcb)
 {
     try
     {
         ManualControlBoard result = _controller.ControlBoard.Find(
             delegate(ManualControlBoard x)
         {
             return(x.ID == mcb.ID);
         }
             );
         if (result != null)//更新数据
         {
             result.Code          = mcb.Code;
             result.BoardNo       = mcb.BoardNo;
             result.SubBoardNo    = mcb.SubBoardNo;
             result.KeyNo         = mcb.KeyNo;
             result.DeviceCode    = mcb.DeviceCode;
             result.SDPKey        = mcb.SDPKey;
             result.MaxSubBoardNo = mcb.MaxSubBoardNo;
             result.Controller    = mcb.Controller;
             result.ControllerID  = mcb.ControllerID;
         }
         else
         {
             _controller.ControlBoard.Add(mcb);
             DataRecordAlreadySet = true;
             ProjectManager.GetInstance.MaxIDForManualControlBoard++;
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Exemple #3
0
 public EditableManualControlBoard(ManualControlBoard mcb)
 {
     this.ID            = mcb.ID;
     this.Code          = mcb.Code;
     this.BoardNo       = mcb.BoardNo;
     this.SubBoardNo    = mcb.SubBoardNo;
     this.KeyNo         = mcb.KeyNo;
     this.DeviceCode    = mcb.DeviceCode;
     this.DeviceType    = mcb.DeviceType;
     this.LocalDevice1  = mcb.LocalDevice1;
     this.LocalDevice2  = mcb.LocalDevice2;
     this.LocalDevice3  = mcb.LocalDevice3;
     this.LocalDevice4  = mcb.LocalDevice4;
     this.NetDevice1    = mcb.NetDevice1;
     this.NetDevice2    = mcb.NetDevice2;
     this.NetDevice3    = mcb.NetDevice3;
     this.NetDevice4    = mcb.NetDevice4;
     this.BuildingNo    = mcb.BuildingNo;
     this.AreaNo        = mcb.AreaNo;
     this.FloorNo       = mcb.FloorNo;
     this.ControlType   = mcb.ControlType;
     this.LinkageGroup  = mcb.LinkageGroup;
     this.SDPKey        = mcb.SDPKey;
     this.MaxSubBoardNo = mcb.MaxSubBoardNo;
     this.Controller    = mcb.Controller;
     this.ControllerID  = mcb.ControllerID;
     ToControlTypeString();
 }
Exemple #4
0
        public List <ManualControlBoard> GetManualControlBoard()
        {
            List <ManualControlBoard> lstManualControlBoard = new List <ManualControlBoard>();

            try
            {
                StringBuilder sbQuerySQL = new StringBuilder();
                //set sdpkey=xianggh,xianggh= (Round((xianggh/756)+.4999999)-1),panhao=IIF(Round(((xianggh/63))+.4999999)>12,Round(((xianggh/63))+.4999999)-12,Round(((xianggh/63))+.4999999)),jianhao=IIF((xianggh Mod 63)=0,63,xianggh Mod 63)
                //(5)网络手控盘
                sbQuerySQL = sbQuerySQL.Append("select 编号,板卡号,盘号,键号,地编号,sdpkey from 网络手控盘;");

                DataTable dt          = _databaseService.GetDataTableBySQL(sbQuerySQL);
                int       dtRowsCount = dt.Rows.Count;
                for (int i = 0; i < dtRowsCount; i++)
                {
                    ManualControlBoard manualControlBoard = new ManualControlBoard();
                    manualControlBoard.Code       = Convert.ToInt32(dt.Rows[i]["编号"]);
                    manualControlBoard.BoardNo    = Convert.ToInt32(dt.Rows[i]["板卡号"]);
                    manualControlBoard.SubBoardNo = Convert.ToInt32(dt.Rows[i]["盘号"]);
                    manualControlBoard.KeyNo      = Convert.ToInt32(dt.Rows[i]["键号"]);
                    manualControlBoard.DeviceCode = dt.Rows[i]["地编号"].ToString();
                    manualControlBoard.SDPKey     = dt.Rows[i]["sdpkey"].ToString();
                    lstManualControlBoard.Add(manualControlBoard);
                }
            }
            catch
            {
            }
            return(lstManualControlBoard);
        }
Exemple #5
0
 public bool Update(ManualControlBoard mcb)
 {
     try
     {
         ManualControlBoard result = _controller.ControlBoard.Find(
             delegate(ManualControlBoard x)
         {
             return(x.ID == mcb.ID);
         }
             );
         if (result != null)//更新数据
         {
             result.Code          = mcb.Code;
             result.BoardNo       = mcb.BoardNo;
             result.SubBoardNo    = mcb.SubBoardNo;
             result.KeyNo         = mcb.KeyNo;
             result.DeviceCode    = mcb.DeviceCode;
             result.DeviceType    = mcb.DeviceType;
             result.LocalDevice1  = mcb.LocalDevice1;
             result.LocalDevice2  = mcb.LocalDevice2;
             result.LocalDevice3  = mcb.LocalDevice3;
             result.LocalDevice4  = mcb.LocalDevice4;
             result.NetDevice1    = mcb.NetDevice1;
             result.NetDevice2    = mcb.NetDevice2;
             result.NetDevice3    = mcb.NetDevice3;
             result.NetDevice4    = mcb.NetDevice4;
             result.BuildingNo    = mcb.BuildingNo;
             result.AreaNo        = mcb.AreaNo;
             result.FloorNo       = mcb.FloorNo;
             result.ControlType   = mcb.ControlType;
             result.LinkageGroup  = mcb.LinkageGroup;
             result.SDPKey        = mcb.SDPKey;
             result.MaxSubBoardNo = mcb.MaxSubBoardNo;
             result.Controller    = mcb.Controller;
             result.ControllerID  = mcb.ControllerID;
         }
         else
         {
             _controller.ControlBoard.Add(mcb);
             DataRecordAlreadySet = true;
             if (mcb.ID > ProjectManager.GetInstance.MaxIDForManualControlBoard)
             {
                 ProjectManager.GetInstance.MaxIDForManualControlBoard = mcb.ID;
             }
             else
             {
                 ProjectManager.GetInstance.MaxIDForManualControlBoard++;
             }
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Exemple #6
0
 public void RefreshCollection(object param)
 {
     if (param != null)
     {
         ManualControlBoard         mcb  = (ManualControlBoard)param;
         EditableManualControlBoard eMCB = ManualControlBoardInfoObservableCollection.Where((d) => d.ID == mcb.ID).FirstOrDefault();
         eMCB.DeviceCode = mcb.DeviceCode;
     }
     DeviceItemSelectorVisibility = Visibility.Collapsed;
 }
 public EditableManualControlBoard(ManualControlBoard mcb)
 {
     this.ID            = mcb.ID;
     this.Code          = mcb.Code;
     this.BoardNo       = mcb.BoardNo;
     this.SubBoardNo    = mcb.SubBoardNo;
     this.KeyNo         = mcb.KeyNo;
     this.DeviceCode    = mcb.DeviceCode;
     this.SDPKey        = mcb.SDPKey;
     this.MaxSubBoardNo = mcb.MaxSubBoardNo;
     this.Controller    = mcb.Controller;
     this.ControllerID  = mcb.ControllerID;
 }
        public ManualControlBoard ToManualControlBoard()
        {
            ManualControlBoard mcb = new ManualControlBoard();

            mcb.ID            = this.ID;
            mcb.Code          = this.Code;
            mcb.BoardNo       = this.BoardNo;
            mcb.SubBoardNo    = this.SubBoardNo;
            mcb.KeyNo         = this.KeyNo;
            mcb.DeviceCode    = this.DeviceCode;
            mcb.SDPKey        = this.SDPKey;
            mcb.MaxSubBoardNo = this.MaxSubBoardNo;
            mcb.Controller    = this.Controller;
            mcb.ControllerID  = this.ControllerID;
            return(mcb);
        }
Exemple #9
0
 public bool DeleteBySpecifiedID(int id)
 {
     try
     {
         var result = from mcb in _controller.ControlBoard where mcb.ID == id select mcb;
         ManualControlBoard board = result.FirstOrDefault();
         if (board != null)
         {
             _controller.ControlBoard.Remove(board);
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Exemple #10
0
        public List <ManualControlBoard> Create(int amount)
        {
            List <ManualControlBoard> lstMCB = new List <ManualControlBoard>();

            if (DataRecordAlreadySet) //如果数据已经填写完成,则可获取最大编号
            {
                _maxCode = GetMaxCode();
                _maxID   = GetMaxID();
            }

            int tempCode = _maxCode;

            if (tempCode >= MaxManualControlBoardAmount) //如果已经达到上限,则不添加任何行
            {
                amount = 0;
            }
            else
            {
                if ((tempCode + amount) > MaxManualControlBoardAmount) //如果需要添加的行数将达上限,则增加剩余的行数
                {
                    amount = MaxManualControlBoardAmount - tempCode;
                }

                for (int i = 0; i < amount; i++)
                {
                    tempCode++;
                    _maxID++;
                    ManualControlBoard mcb = new ManualControlBoard();
                    mcb.Controller   = _controller;
                    mcb.ControllerID = _controller.ID;
                    mcb.Code         = tempCode;//.ToString().PadLeft(MaxManualControlBoardAmount.ToString().Length, '0');
                    mcb.ID           = _maxID;
                    mcb.IsDirty      = true;
                    lstMCB.Add(mcb);
                }
                _maxCode             = tempCode;
                DataRecordAlreadySet = false;

                foreach (var singleItem in lstMCB)
                {
                    Update(singleItem);
                }
            }
            return(lstMCB);
        }
Exemple #11
0
 public void SelectDeviceExecute(int id, object args)
 {
     if (args != null)
     {
         EditableManualControlBoard eMCB = args as EditableManualControlBoard;
         if (eMCB != null)
         {
             ManualControlBoard mcb = eMCB.ToManualControlBoard();
             CreateManualControlBoardVisibility = Visibility.Collapsed;
             DeviceItemSelectorVisibility       = Visibility.Collapsed;
             ManualDeviceCodeVisibility         = Visibility.Visible;
             ManualBoardDeviceCode.ManualBoardDeviceCodeViewModel deviceCodeVM = new ManualBoardDeviceCode.ManualBoardDeviceCodeViewModel();
             deviceCodeVM.ID    = id;
             deviceCodeVM.MCB   = mcb;
             ManualDeviceCodeVM = deviceCodeVM;
         }
     }
 }
Exemple #12
0
        public List <ManualControlBoard> Create(int boardNo, int subBoardStartNo, int subBoardEndNo, int startKeyNo, int amount)
        {
            List <ManualControlBoard> lstMCB = new List <ManualControlBoard>();

            if (DataRecordAlreadySet) //如果数据已经填写完成,则可获取最大编号
            {
                _maxCode = GetMaxCode();
                _maxID   = GetMaxID();
            }
            int tempCode = _maxCode;

            if (tempCode >= MaxManualControlBoardAmount) //如果已经达到上限,则不添加任何行
            {
                amount = 0;
            }

            if ((tempCode + amount) > MaxManualControlBoardAmount) //如果需要添加的行数将达上限,则增加剩余的行数
            {
                amount = tempCode + amount - MaxManualControlBoardAmount;
            }

            for (int j = subBoardStartNo; j <= subBoardEndNo; j++)
            {
                for (int i = startKeyNo; i < amount; i++)
                {
                    tempCode++;
                    _maxID++;
                    ManualControlBoard mcb = new ManualControlBoard();
                    mcb.BoardNo      = boardNo;
                    mcb.SubBoardNo   = j;
                    mcb.KeyNo        = i;
                    mcb.Controller   = _controller;
                    mcb.ControllerID = _controller.ID;
                    mcb.Code         = tempCode;//.ToString().PadLeft(MaxManualControlBoardAmount.ToString().Length, '0');
                    mcb.ID           = _maxID;
                    mcb.IsDirty      = true;
                    lstMCB.Add(mcb);
                }
            }
            _maxCode             = tempCode;
            DataRecordAlreadySet = false;
            return(lstMCB);
        }
Exemple #13
0
 public int AddManualControlBoardInfo(ManualControlBoard manualControlBoard)
 {
     throw new NotImplementedException();
 }
Exemple #14
0
        /// <summary>
        /// 更新指定ID的数据
        /// </summary>
        /// <param name="id">待更新数据的ID</param>
        /// <param name="columnNames">列名</param>
        /// <param name="data">新数据</param>
        /// <returns></returns>
        public bool UpdateViaSpecifiedColumnName(int id, string[] columnNames, string[] data)
        {
            try
            {
                ManualControlBoard result = _controller.ControlBoard.Find(
                    delegate(ManualControlBoard x)
                {
                    return(x.ID == id);
                }
                    );
                for (int i = 0; i < columnNames.Length; i++)
                {
                    switch (columnNames[i])
                    {
                    //case "编号":
                    //    result.Code = Convert.ToInt32(data[i]);
                    //    break;
                    case "板卡号":
                        result.BoardNo = Convert.ToInt32(data[i]);
                        break;

                    case "手盘号":
                        result.SubBoardNo = Convert.ToInt32(data[i]);
                        break;

                    //case "手键号":
                    //    result.KeyNo = Convert.ToInt32(data[i]);
                    //    break;
                    case "器件编号":
                        result.DeviceCode = data[i].ToString();
                        break;

                    case "被控类型":
                    {
                        switch (data[i])
                        {
                        case "空器件":
                            result.ControlType = 0;
                            break;

                        case "本机设备":
                            result.ControlType = 1;
                            break;

                        case "楼区层":
                            result.ControlType = 2;
                            break;

                        case "输出组":
                            result.ControlType = 3;
                            break;

                        case "网络设备":
                            result.ControlType = 4;
                            break;

                        default:
                            result.ControlType = 0;
                            break;
                        }
                    }
                    break;

                    case "本机设备1":
                        result.LocalDevice1 = data[i];
                        break;

                    case "本机设备2":
                        result.LocalDevice2 = data[i];
                        break;

                    case "本机设备3":
                        result.LocalDevice3 = data[i];
                        break;

                    case "本机设备4":
                        result.LocalDevice4 = data[i];
                        break;

                    case "楼号":
                        result.BuildingNo = data[i];
                        break;

                    case "区号":
                        result.AreaNo = data[i];
                        break;

                    case "层号":
                        result.FloorNo = data[i];
                        break;

                    case "设备类型":
                        result.DeviceType = data[i] == ""?(short)0:Convert.ToInt16(data[i]);
                        break;

                    case "输出组":
                        result.LinkageGroup = data[i];
                        break;

                    case "网络设备1":
                        result.NetDevice1 = data[i];
                        break;

                    case "网络设备2":
                        result.NetDevice2 = data[i];
                        break;

                    case "网络设备3":
                        result.NetDevice3 = data[i];
                        break;

                    case "网络设备4":
                        result.NetDevice4 = data[i];
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }
Exemple #15
0
        public List <ManualControlBoard> Create(int boardNo, int subBoardStartNo, int subBoardEndNo, int amount)
        {
            List <ManualControlBoard> lstMCB = new List <ManualControlBoard>();

            if (DataRecordAlreadySet) //如果数据已经填写完成,则可获取最大编号
            {
                _maxCode = GetMaxCode();
                _maxID   = GetMaxID();
            }
            int tempCode = _maxCode;

            if (tempCode >= MaxManualControlBoardAmount) //如果已经达到上限,则不添加任何行
            {
                amount = 0;
            }

            if ((tempCode + amount) > MaxManualControlBoardAmount) //如果需要添加的行数将达上限,则增加剩余的行数
            {
                amount = MaxManualControlBoardAmount - tempCode;
            }


            for (int j = subBoardStartNo; j <= subBoardEndNo; j++)
            {
                SCA.Interface.IControllerConfig config = ControllerConfigManager.GetConfigObject(this.TheController.Type);
                int totalMaxKeyNo = config.GetMaxAmountForKeyNoInManualControlBoardConfig();

                int maxKeyNo = 0;
                //获取当前板卡及回路下的最大"手键号"
                if (TheController.ControlBoard.Count == 0)
                {
                    maxKeyNo = 0;
                }
                else
                {
                    var result = TheController.ControlBoard.Where(mcb => mcb.SubBoardNo == j && mcb.BoardNo == boardNo);
                    if (result.Count() != 0)
                    {
                        maxKeyNo = TheController.ControlBoard.Where(mcb => mcb.SubBoardNo == j && mcb.BoardNo == boardNo).Max(mcb => mcb.KeyNo);
                    }
                }
                if (maxKeyNo < totalMaxKeyNo)
                {
                    for (int i = 1; i <= amount; i++)
                    {
                        tempCode++;
                        _maxID++;
                        maxKeyNo++;
                        ManualControlBoard mcb = new ManualControlBoard();
                        mcb.BoardNo      = boardNo;
                        mcb.SubBoardNo   = j;
                        mcb.KeyNo        = maxKeyNo;
                        mcb.Controller   = _controller;
                        mcb.ControllerID = _controller.ID;
                        mcb.Code         = tempCode;//.ToString().PadLeft(MaxManualControlBoardAmount.ToString().Length, '0');
                        mcb.ID           = _maxID;
                        mcb.IsDirty      = true;
                        lstMCB.Add(mcb);
                    }
                }
            }
            _maxCode             = tempCode;
            DataRecordAlreadySet = false;
            foreach (var singleItem in lstMCB)
            {
                Update(singleItem);
            }
            return(lstMCB);
        }