public alarmUnitCtrl(recUnit ErObj, int no)
        {
            InitializeComponent();

            if (ErObj != null)
            {
                if (ErObj.type == recType.alarmType)
                {
                    tbMenu.SelectedItem = menu_Alm;
                    valmoWin.sMainPanelCtrl.cvsMain.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0x8F, 0x8F));
                    lbSerialNum.Content = "A" + ErObj.serialNum.Substring(3, 3);
                }
                else
                {
                    lbSerialNum.Content = "M" + ErObj.serialNum.Substring(3, 3);
                    tbMenu.SelectedItem = menu_Msg;
                    valmoWin.sMainPanelCtrl.cvsMain.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0x00));
                }
                //lbSerialNum.Content = ErObj.serialNum;
                lbDis.Content = valmoWin.dv.getCurDis(ErObj.serialNum);
                lbDtStart.Content = ErObj.dtStart.ToString("yyyy.MM.dd hh:mm:ss");
                lbNo.Content = no;

                erObj = ErObj;
            }
        }
        //Image imgBK;
        public alarmPanel(recUnit ErObj,int no)
        {
            cvs = new Canvas();

            lbSerialNum = new Label();
            lbSerialNum.Width = 80;
            lbSerialNum.Height = 34;
            lbSerialNum.FontSize = 18;
            lbSerialNum.VerticalContentAlignment = VerticalAlignment.Center;
            lbSerialNum.HorizontalContentAlignment = HorizontalAlignment.Center;

            lbDis = new Label();
            lbDis.Width = 707;
            lbDis.Height = 34;
            lbDis.FontSize = 18;
            lbDis.VerticalContentAlignment = VerticalAlignment.Center;
            lbDis.HorizontalContentAlignment = HorizontalAlignment.Left;

            lbDtStart = new Label();
            lbDtStart.Width = 300;
            lbDtStart.Height = 34;
            lbDtStart.FontSize = 18;
            lbDtStart.VerticalContentAlignment = VerticalAlignment.Center;
            lbDtStart.HorizontalContentAlignment = HorizontalAlignment.Center;

            lbNo = new Label();
            lbNo.Width = 55;
            lbNo.Height = 34;
            lbNo.FontSize = 18;
            lbNo.HorizontalContentAlignment = HorizontalAlignment.Right;
            lbNo.VerticalContentAlignment = VerticalAlignment.Center;

            cvs.Children.Add(lbSerialNum);
            Canvas.SetLeft(lbSerialNum, 5);
            cvs.Children.Add(lbDis);
            Canvas.SetLeft(lbDis, 385);
            cvs.Children.Add(lbDtStart);
            Canvas.SetLeft(lbDtStart, 85);
            cvs.Children.Add(lbNo);
            Canvas.SetLeft(lbNo, 992);

            cvs.Height = 34;
            cvs.Width = 1053;

            //imgBK = new Image();
            //imgBK.Source =

            if(ErObj != null)
            {
                lbSerialNum.Content = ErObj.serialNum;
                lbDis.Content = ErObj.discription;
                lbDtStart.Content = ErObj.dtStart.ToString("yyyy.MM.dd hh:mm:ss");
                lbNo.Content = no;
            }
            erObj = ErObj;
        }
 public bool check(recUnit ergObj)
 {
     if (ergObj.dtStart > dtStart && ergObj.dtStart < dtEnd)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
 private bool filterUser(recUnit ergObj)
 {
     return filterUserCtrl1.check(ergObj.userName);
 }
 private bool filterType(recUnit ergObj)
 {
     switch (ergObj.type)
     {
         case recType.alarmType:
             if (!alarmCtrl.active)
                 return false;
             break;
         case recType.logType:
             if (!loadCtrl.active)
                 return false;
             break;
         case recType.operateType:
             if (!paramCtrl.active)
                 return false;
             break;
         case recType.sysType:
             if (!sysCtrl.active)
                 return false;
             break;
         default :
             return false;
     }
     return true;
 }
 private bool filterTime(recUnit ergObj)
 {
     return filterTimeCtrl1.check(ergObj);
 }
        public void sendMsgToWinFunc(WinMsg msg)
        {
            //if (!valmoWin.flagMainWindowInitOk)
            //    return;
            switch (msg.type)
            {
                case WinMsgType.mwLinkPlcOK:
                    {
                        PLCLinkState = true;
                        linkPanel.flagForceClose = false;
                        linkPanel.active = true;
                        linkPanel.Visibility = Visibility.Hidden;

                        linkState = true;
                        recUnit obj = new recUnit("Als000", DateTime.Now, recType.sysType);
                        valmoWin.eventMgr.msgSave(obj);
                        //WinMsg mwMsg = new WinMsg();
                        //mwMsg.type = WinMsgType.mwMsg;
                        //valmoWin.sendMsgToWinHandle(mwMsg);
                    }
                    break;
                case WinMsgType.mwLinkPlcError:
                    {
                        PLCLinkState = false;
                        if (!linkPanel.flagForceClose)
                            linkPanel.show();
                        if (linkState)
                        {
                            linkState = false;
                            recUnit obj = new recUnit("Als001", DateTime.Now, recType.sysType);
                            valmoWin.eventMgr.msgSave(obj);
                        }
                        //WinMsg mwMsg = new WinMsg();
                        //mwMsg.type = WinMsgType.mwMsg;
                        //valmoWin.sendMsgToWinHandle(mwMsg);
                    }
                    break;
                case WinMsgType.mwLogInOK:
                    {
                        PLCLinkState = true;
                        //imgUserNull.Opacity = 0;
                        //imgUserOn.Opacity = 1;
                        lbUserName.Content = valmoWin.dv.users.curUser.name;
                    }
                    break;
                case WinMsgType.mwLogOut:
                    {
                        //imgUserNull.Opacity = 1;
                        //imgUserOn.Opacity = 0;
                        lbUserName.Content = "null";
                    }
                    break;
                case WinMsgType.mwPidClear:
                    {
                    }
                    break;
                case WinMsgType.mwJumpHeartErr:
                    {
                        //imgLineOn.Visibility = Visibility.Hidden;
                    }
                    break;
                case WinMsgType.mwJumpHeartRetart:
                    {

                    }
                    break;
                case WinMsgType.mwRelink:
                    {
                        PLCLinkState = true;
                        linkPanel.flagForceClose = false;
                        linkPanel.active = true;

                        recUnit obj = new recUnit("Als000", DateTime.Now, recType.sysType);
                        valmoWin.eventMgr.msgSave(obj);
                    }
                    break;
            }
            lstWinMsgCtrl1.sendMsgToWinFunc(msg);
        }
 public void setValue(recUnit ErObj,int no)
 {
     if (ErObj != null)
     {
         lbSerialNum.Content = ErObj.serialNum;
         lbDis.Content = ErObj.discription;
         lbDtStart.Content = ErObj.dtStart.ToString("yyyy.MM.dd hh:mm:ss");
         lbNo.Content = no;
     }
     erObj = ErObj;
 }
        public void refreshAlmLst(objUnit obj)
        {
            for (int i = 0; i < 32; i++)
            {
                if (((obj.value >> i) & 0x01) == 1)
                {
                    bool bIsExist = false;

                    for (int j = 0; j < curActiveAlmObjLst.Count; j++)
                    {
                        if (curActiveAlmObjLst[j].serialNum == obj.bitSers[i])
                        {
                            bIsExist = true;
                            break;
                        }
                    }

                    if (bIsExist == false)
                    {
                        recUnit ergObj = null;

                        if (obj.objType == objectType.AlmPr)
                        {
                            ergObj = new recUnit(obj.bitSers[i], DateTime.Now, recType.alarmType);
                            curActiveAlmObjLst.Insert(0, ergObj);
                        }
                        else if (obj.objType == objectType.AlmSys)
                        {
                            ergObj = new recUnit(obj.bitSers[i], DateTime.Now, recType.sysType);
                            curActiveAlmObjLst.Insert(0, ergObj);

                            WinMsg msgSys = new WinMsg();
                            msgSys.type = WinMsgType.mwMsgSys;
                            sendMsgToWinFunc(msgSys);
                        }

                        if (ergObj != null)
                        {
                            valmoWin.eventMgr.msgSave(ergObj);
                        }

                        valmoWin.execHandle(opeOrderType.winMsg, new WinMsg(WinMsgType.mwMsg));

                        refreshAlarmList();
                    }
                }
                else
                {
                    for (int j = curActiveAlmObjLst.Count - 1; j >= 0; j--)
                    {
                        if (curActiveAlmObjLst[j].serialNum == obj.bitSers[i])
                        {
                            curActiveAlmObjLst.RemoveAt(j);

                            valmoWin.execHandle(opeOrderType.winMsg, new WinMsg(WinMsgType.mwMsg));
                            refreshAlarmList();
                        }
                    }
                }
            }
        }