public FormReaderInfo(AccessDataBase.Model.ReaderInfo modelReaderInfo, OpenMode openMode)
        {
            InitializeComponent();
            this.CenterToScreen();
            this.MaximizeBox     = false;
            this.MinimizeBox     = false;
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
            this.Icon            = GetResourcesFile.getSystemIco();

            this.modelReaderInfo = modelReaderInfo;
            this.openMode        = openMode;
            for (int i = 0; i < 7; i++)
            {
                arrarymodelReaderTimeZone[i] = new AccessDataBase.Model.ReaderTimeZone();
            }

            if (openMode == OpenMode.Add)
            {
                showAddPara();
            }
            else if (openMode == OpenMode.Update)
            {
                this.modelReaderInfo = bllReaderInfo.GetModel(modelReaderInfo.ReaderID);
                showUpdatePara();
            }
        }
        private void updateReaderInfo(ref AccessDataBase.Model.ReaderInfo modelReaderInfo)
        {
            modelReaderTimeAccess.ReaderTimeAccessID = bllReaderInfo.GetModel(modelReaderInfo.ReaderID).ReadTimeAccessID.HasValue ?
                                                       bllReaderInfo.GetModel(modelReaderInfo.ReaderID).ReadTimeAccessID.Value : bllReaderTimeAccess.GetMaxId();
            modelReaderTimeAccess.ReaderTimeAccessName = "";
            updateReaderTimeAccess(ref modelReaderTimeAccess);

            modelReaderInfo.ReadTimeAccessID = modelReaderTimeAccess.ReaderTimeAccessID;

            bllReaderInfo.Update(modelReaderInfo);
        }
        private void addReaderInfo(ref AccessDataBase.Model.ReaderInfo modelReaderInfo)
        {
            if (bllReaderInfo.Exists(modelReaderInfo.ReaderID))
            {
                MyMessageBox.MessageBoxOK("读卡器ID已经存在");
                return;
            }
            modelReaderTimeAccess.ReaderTimeAccessID = bllReaderTimeAccess.GetMaxId();
            addReaderTimeAccess(ref modelReaderTimeAccess);

            modelReaderInfo.ReadTimeAccessID = modelReaderTimeAccess.ReaderTimeAccessID;
            bllReaderInfo.Add(modelReaderInfo);
        }
Beispiel #4
0
        private void openReadInfoDialog(int readerID, OpenMode openMode)
        {
            if (bllReaderInfo.Exists(readerID))
            {
                openMode = OpenMode.Update;
            }
            else
            {
                openMode = OpenMode.Add;
            }

            modelReaderInfo          = new AccessDataBase.Model.ReaderInfo();
            modelReaderInfo.ReaderID = readerID;
            FormReaderInfo formReaderInfo = new FormReaderInfo(modelReaderInfo, openMode);

            formReaderInfo.Show();
        }
        public FormReaderHoliday(OpenMode openMode, AccessDataBase.Model.ReaderInfo modelReaderInfo, AccessDataBase.Model.ReaderHoliday modelHoliay)
        {
            InitializeComponent();
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
            this.Icon = GetResourcesFile.getSystemIco();
            this.CenterToScreen();

            this.openMode = openMode;
            this.modelReaderInfo = modelReaderInfo;
            this.modelHoliay = modelHoliay;
            if (openMode == OpenMode.Update)
            {
                kryptonDateTimePickerStartDate.Value = Convert.ToDateTime(modelHoliay.ReaderHolidayStartDate);
                kryptonDateTimePickerEndDate.Value = Convert.ToDateTime(modelHoliay.ReaderHolidayEndDate);
            }
            else if(openMode == OpenMode.Add)
            { }
        }
        private void getReaderInfo(ref AccessDataBase.Model.ReaderInfo modelReaderInfo)
        {
            modelReaderInfo.CommunicateType = kryptonComboBoxCommunicateType.SelectedIndex;

            #region TCP通信参数
            modelReaderInfo.ReaderIP      = textBoxDeviceIP.Text.ToString();
            modelReaderInfo.ReaderSubnet  = textBoxMask.Text.ToString();
            modelReaderInfo.ReaderGateway = textBoxGateway.Text.ToString();
            modelReaderInfo.ReaderDNS     = textBoxDNS.Text.ToString();
            modelReaderInfo.ReaderBuDNS   = kryptonTextBoxBackUpDNS.Text.ToString();
            #endregion

            #region 485通信参数
            modelReaderInfo.ReaderAddr483     = int.Parse(kryptonTextBoxControllerAddr485.Text.ToString());
            modelReaderInfo.ReaderBaudrate    = int.Parse(kryptonTextBoxControllerBaudrate.Text.ToString());
            modelReaderInfo.ReaderDataBits    = int.Parse(kryptonTextBoxControllerDataBits.Text.ToString());
            modelReaderInfo.ReaderStopBits    = int.Parse(kryptonTextBoxControllerStopBits.Text.ToString());
            modelReaderInfo.ReaderParityCheck = kryptonComboBoxControllerParityCheck.Text.ToString();
            modelReaderInfo.ReaderFlowControl = kryptonTextBoxControllerFlowControl.Text.ToString();
            #endregion
        }
Beispiel #7
0
        public FormReaderHoliday(OpenMode openMode, AccessDataBase.Model.ReaderInfo modelReaderInfo, AccessDataBase.Model.ReaderHoliday modelHoliay)
        {
            InitializeComponent();
            this.MaximizeBox     = false;
            this.MinimizeBox     = false;
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
            this.Icon            = GetResourcesFile.getSystemIco();
            this.CenterToScreen();

            this.openMode        = openMode;
            this.modelReaderInfo = modelReaderInfo;
            this.modelHoliay     = modelHoliay;
            if (openMode == OpenMode.Update)
            {
                kryptonDateTimePickerStartDate.Value = Convert.ToDateTime(modelHoliay.ReaderHolidayStartDate);
                kryptonDateTimePickerEndDate.Value   = Convert.ToDateTime(modelHoliay.ReaderHolidayEndDate);
            }
            else if (openMode == OpenMode.Add)
            {
            }
        }
        public FormReaderInfo(AccessDataBase.Model.ReaderInfo modelReaderInfo, OpenMode openMode)
        {
            InitializeComponent();
            this.CenterToScreen();
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
            this.Icon = GetResourcesFile.getSystemIco();

            this.modelReaderInfo = modelReaderInfo;
            this.openMode = openMode;
            for (int i = 0; i < 7; i++)
                arrarymodelReaderTimeZone[i] = new AccessDataBase.Model.ReaderTimeZone();

            if (openMode == OpenMode.Add)
            {
                showAddPara();
            }
            else if (openMode == OpenMode.Update)
            {
                this.modelReaderInfo = bllReaderInfo.GetModel(modelReaderInfo.ReaderID);
                showUpdatePara();
            }
        }
        private void openReadInfoDialog(int readerID,OpenMode openMode)
        {
            if (bllReaderInfo.Exists(readerID))
                openMode = OpenMode.Update;
            else
                openMode = OpenMode.Add;

            modelReaderInfo = new AccessDataBase.Model.ReaderInfo();
            modelReaderInfo.ReaderID = readerID;
            FormReaderInfo formReaderInfo = new FormReaderInfo(modelReaderInfo,openMode);
            formReaderInfo.Show();
        }
        private void toolStripButtonDeleteControllerInfo_Click(object sender, EventArgs e)
        {
            if (kryptonDataGridView1.CurrentRow == null)
            {
                return;
            }
            if (MyMessageBox.MessageBoxOkCancel("¿ØÖÆÆ÷ÐÅϢɾ³ýºó²»Äָܻ´,ÊÇ·ñɾ³ý?") == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            int    selectIndex     = kryptonDataGridView1.CurrentRow.Index;
            string controllerIDStr = kryptonDataGridView1["ControllerID", selectIndex].Value.ToString().Trim();
            int    controllerIDInt;

            if (int.TryParse(controllerIDStr, out controllerIDInt))
            {
                #region ɾ³ý¿ØÖÆÆ÷ÐÅÏ¢
                modelControllerInfo = bllControllerInfo.GetModel(controllerIDInt);
                if (modelControllerInfo == null)
                {
                    return;
                }
                deleteControllerInfo(controllerIDInt);
                #endregion

                #region ɾ³ýÀ©Õ¹°å

                #region ɾ³ýÀ©Õ¹°å1
                if (modelControllerInfo.ExpansionBoardID1.HasValue & modelControllerInfo.ExpansionBoardID1 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID1.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID1.Value);
                }
                #endregion

                #region ɾ³ýÀ©Õ¹°å2
                if (modelControllerInfo.ExpansionBoardID2.HasValue & modelControllerInfo.ExpansionBoardID2 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID2.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID2.Value);
                }
                #endregion

                #region ɾ³ýÀ©Õ¹°å3
                if (modelControllerInfo.ExpansionBoardID3.HasValue & modelControllerInfo.ExpansionBoardID3 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID3.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID3.Value);
                }
                #endregion

                #region ɾ³ýÀ©Õ¹4
                if (modelControllerInfo.ExpansionBoardID4.HasValue & modelControllerInfo.ExpansionBoardID4 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID4.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID4.Value);
                }
                #endregion

                #endregion

                #region ɾ³ýÃŵ¥Ôª1
                //ɾ³ýÃŵ¥Ôª
                if (modelControllerInfo.DoorUnitID1.HasValue & modelControllerInfo.DoorUnitID1.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID1.Value);
                    if (modelDoorUnitInfo == null)
                    {
                        return;
                    }
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ³ý¶Á¿¨Æ÷ÐÅÏ¢
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                }

                #endregion

                #region ɾ³ýÃŵ¥Ôª2
                //ɾ³ýÃŵ¥Ôª
                if (modelControllerInfo.DoorUnitID2.HasValue & modelControllerInfo.DoorUnitID2.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID2.Value);
                    if (modelDoorUnitInfo == null)
                    {
                        return;
                    }
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ³ý¶Á¿¨Æ÷ÐÅÏ¢
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                }
                #endregion

                #region ɾ³ýÃŵ¥Ôª3
                //ɾ³ýÃŵ¥Ôª
                if (modelControllerInfo.DoorUnitID3.HasValue & modelControllerInfo.DoorUnitID3.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID3.Value);
                    if (modelDoorUnitInfo == null)
                    {
                        return;
                    }
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ³ý¶Á¿¨Æ÷ÐÅÏ¢
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                }
                #endregion

                #region ɾ³ýÃŵ¥Ôª4
                //ɾ³ýÃŵ¥Ôª
                if (modelControllerInfo.DoorUnitID4.HasValue & modelControllerInfo.DoorUnitID4.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID4.Value);
                    if (modelDoorUnitInfo == null)
                    {
                        return;
                    }
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ³ý¶Á¿¨Æ÷ÐÅÏ¢
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                        {
                            return;
                        }

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ³ý¶Á¿¨Æ÷Öܹ¤×÷ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                            {
                                return;
                            }

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);
                        }
                    }
                }
                #endregion
            }
            refreshDataGridView();
        }
        private void kryptonButtonReaderOK_Click(object sender, EventArgs e)
        {
            int  readerID, readerPointID;
            bool ret = int.TryParse(kryptonTextBoxReaderID.Text.ToString(), out readerID);

            if (ret == false)
            {
                MyMessageBox.MessageBoxOK("读卡器ID不能为空");
                return;
            }

            ret = int.TryParse(kryptonTextBoxReaderPointID.Text.ToString(), out readerPointID);
            if (ret == false)
            {
                MyMessageBox.MessageBoxOK("读卡器端口ID不能为空");
                return;
            }
            if (openMode == OpenMode.Add)
            {
                #region 添加读卡器工作时区
                arrarymodelReaderTimeZone[0].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[0], ref timeModeAccessTime1);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[0]);

                arrarymodelReaderTimeZone[1].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[1], ref timeModeAccessTime2);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[1]);

                arrarymodelReaderTimeZone[2].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[2], ref timeModeAccessTime3);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[2]);

                arrarymodelReaderTimeZone[3].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[3], ref timeModeAccessTime4);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[3]);

                arrarymodelReaderTimeZone[4].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[4], ref timeModeAccessTime5);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[4]);

                arrarymodelReaderTimeZone[5].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[5], ref timeModeAccessTime6);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[5]);

                arrarymodelReaderTimeZone[6].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[6], ref timeModeAccessTime7);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[6]);
                #endregion

                #region 添加读卡器周工作模式
                modelReaderTimeAccess.ReaderTimeAccessID   = bllReaderTimeAccess.GetMaxId();
                modelReaderTimeAccess.ReaderTimeAccessName = "";

                modelReaderTimeAccess.Mon = arrarymodelReaderTimeZone[0].ReaderTimeZoneID;
                modelReaderTimeAccess.Tue = arrarymodelReaderTimeZone[1].ReaderTimeZoneID;
                modelReaderTimeAccess.Wed = arrarymodelReaderTimeZone[2].ReaderTimeZoneID;
                modelReaderTimeAccess.Thu = arrarymodelReaderTimeZone[3].ReaderTimeZoneID;
                modelReaderTimeAccess.Fri = arrarymodelReaderTimeZone[4].ReaderTimeZoneID;
                modelReaderTimeAccess.Sat = arrarymodelReaderTimeZone[5].ReaderTimeZoneID;
                modelReaderTimeAccess.Sun = arrarymodelReaderTimeZone[6].ReaderTimeZoneID;
                bllReaderTimeAccess.Add(modelReaderTimeAccess);
                #endregion

                #region 添加读卡器
                modelReaderInfo.ReaderID         = readerID;
                modelReaderInfo.ReaderPointID    = readerPointID;
                modelReaderInfo.ReadTimeAccessID = modelReaderTimeAccess.ReaderTimeAccessID;
                getReaderInfo(ref modelReaderInfo);
                bllReaderInfo.Add(modelReaderInfo);
                #endregion
            }
            else
            {
                modelReaderInfo = bllReaderInfo.GetModel(readerID);
                if (modelReaderInfo == null)
                {
                    return;
                }
                #region 修改读卡器工作时区
                modelReaderTimeAccess.ReaderTimeAccessID = modelReaderInfo.ReadTimeAccessID.Value;

                arrarymodelReaderTimeZone[0].ReaderTimeZoneID = modelReaderTimeAccess.Mon.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[0], ref timeModeAccessTime1);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[0]);

                arrarymodelReaderTimeZone[1].ReaderTimeZoneID = modelReaderTimeAccess.Tue.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[1], ref timeModeAccessTime2);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[1]);

                arrarymodelReaderTimeZone[2].ReaderTimeZoneID = modelReaderTimeAccess.Wed.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[2], ref timeModeAccessTime3);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[2]);

                arrarymodelReaderTimeZone[3].ReaderTimeZoneID = modelReaderTimeAccess.Thu.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[3], ref timeModeAccessTime4);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[3]);

                arrarymodelReaderTimeZone[4].ReaderTimeZoneID = modelReaderTimeAccess.Fri.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[4], ref timeModeAccessTime5);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[4]);

                arrarymodelReaderTimeZone[5].ReaderTimeZoneID = modelReaderTimeAccess.Sat.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[5], ref timeModeAccessTime6);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[5]);

                arrarymodelReaderTimeZone[6].ReaderTimeZoneID = modelReaderTimeAccess.Sun.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[6], ref timeModeAccessTime7);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[6]);
                #endregion

                #region 修改读卡器信息
                getReaderInfo(ref modelReaderInfo);
                bllReaderInfo.Update(modelReaderInfo);
                #endregion
            }
            this.Close();
        }
        private void kryptonButtonReaderOK_Click(object sender, EventArgs e)
        {
            int readerID,readerPointID;
            bool ret = int.TryParse(kryptonTextBoxReaderID.Text.ToString(), out readerID);
            if (ret == false)
            {
                MyMessageBox.MessageBoxOK("������ID������");
                return;
            }

            ret = int.TryParse(kryptonTextBoxReaderPointID.Text.ToString(), out readerPointID);
            if (ret == false)
            {
                MyMessageBox.MessageBoxOK("�������˿�ID����Ϊ��");
                return;
            }
            if (openMode == OpenMode.Add)
            {
                #region ��Ӷ���������ʱ��
                arrarymodelReaderTimeZone[0].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[0], ref timeModeAccessTime1);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[0]);

                arrarymodelReaderTimeZone[1].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[1], ref timeModeAccessTime2);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[1]);

                arrarymodelReaderTimeZone[2].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[2], ref timeModeAccessTime3);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[2]);

                arrarymodelReaderTimeZone[3].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[3], ref timeModeAccessTime4);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[3]);

                arrarymodelReaderTimeZone[4].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[4], ref timeModeAccessTime5);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[4]);

                arrarymodelReaderTimeZone[5].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[5], ref timeModeAccessTime6);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[5]);

                arrarymodelReaderTimeZone[6].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[6], ref timeModeAccessTime7);
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[6]);
                #endregion

                #region ��Ӷ������ܹ���ģʽ
                modelReaderTimeAccess.ReaderTimeAccessID = bllReaderTimeAccess.GetMaxId();
                modelReaderTimeAccess.ReaderTimeAccessName = "";

                modelReaderTimeAccess.Mon = arrarymodelReaderTimeZone[0].ReaderTimeZoneID;
                modelReaderTimeAccess.Tue = arrarymodelReaderTimeZone[1].ReaderTimeZoneID;
                modelReaderTimeAccess.Wed = arrarymodelReaderTimeZone[2].ReaderTimeZoneID;
                modelReaderTimeAccess.Thu = arrarymodelReaderTimeZone[3].ReaderTimeZoneID;
                modelReaderTimeAccess.Fri = arrarymodelReaderTimeZone[4].ReaderTimeZoneID;
                modelReaderTimeAccess.Sat = arrarymodelReaderTimeZone[5].ReaderTimeZoneID;
                modelReaderTimeAccess.Sun = arrarymodelReaderTimeZone[6].ReaderTimeZoneID;
                bllReaderTimeAccess.Add(modelReaderTimeAccess);
                #endregion

                #region ��Ӷ�����
                modelReaderInfo.ReaderID = readerID;
                modelReaderInfo.ReaderPointID = readerPointID;
                modelReaderInfo.ReadTimeAccessID = modelReaderTimeAccess.ReaderTimeAccessID;
                getReaderInfo(ref modelReaderInfo);
                bllReaderInfo.Add(modelReaderInfo);
                #endregion
            }
            else
            {
                modelReaderInfo = bllReaderInfo.GetModel(readerID);
                if (modelReaderInfo == null)
                    return;
                #region �޸Ķ���������ʱ��
                modelReaderTimeAccess.ReaderTimeAccessID = modelReaderInfo.ReadTimeAccessID.Value;

                arrarymodelReaderTimeZone[0].ReaderTimeZoneID = modelReaderTimeAccess.Mon.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[0], ref timeModeAccessTime1);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[0]);

                arrarymodelReaderTimeZone[1].ReaderTimeZoneID = modelReaderTimeAccess.Tue.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[1], ref timeModeAccessTime2);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[1]);

                arrarymodelReaderTimeZone[2].ReaderTimeZoneID = modelReaderTimeAccess.Wed.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[2], ref timeModeAccessTime3);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[2]);

                arrarymodelReaderTimeZone[3].ReaderTimeZoneID = modelReaderTimeAccess.Thu.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[3], ref timeModeAccessTime4);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[3]);

                arrarymodelReaderTimeZone[4].ReaderTimeZoneID = modelReaderTimeAccess.Fri.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[4], ref timeModeAccessTime5);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[4]);

                arrarymodelReaderTimeZone[5].ReaderTimeZoneID = modelReaderTimeAccess.Sat.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[5], ref timeModeAccessTime6);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[5]);

                arrarymodelReaderTimeZone[6].ReaderTimeZoneID = modelReaderTimeAccess.Sun.Value;
                getModelReaderTimeZone(ref arrarymodelReaderTimeZone[6], ref timeModeAccessTime7);
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[6]);
                #endregion

                #region �޸Ķ�������Ϣ
                getReaderInfo(ref modelReaderInfo);
                bllReaderInfo.Update(modelReaderInfo);
                #endregion
            }
            this.Close();
        }
        private void toolStripButtonDeleteControllerInfo_Click(object sender, EventArgs e)
        {
            if (kryptonDataGridView1.CurrentRow == null)
                return;
            if (MyMessageBox.MessageBoxOkCancel("��������Ϣɾ�����ָܻ�,�Ƿ�ɾ��?") == System.Windows.Forms.DialogResult.Cancel)
                return;

            int selectIndex = kryptonDataGridView1.CurrentRow.Index;
            string controllerIDStr = kryptonDataGridView1["ControllerID", selectIndex].Value.ToString().Trim();
            int controllerIDInt;

            if (int.TryParse(controllerIDStr, out controllerIDInt))
            {

                #region ɾ����������Ϣ
                modelControllerInfo = bllControllerInfo.GetModel(controllerIDInt);
                if (modelControllerInfo == null)
                    return;
                deleteControllerInfo(controllerIDInt);
                #endregion

                #region ɾ����չ��

                #region ɾ����չ��1
                if (modelControllerInfo.ExpansionBoardID1.HasValue & modelControllerInfo.ExpansionBoardID1 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID1.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID1.Value);
                }
                #endregion

                #region ɾ����չ��2
                if (modelControllerInfo.ExpansionBoardID2.HasValue & modelControllerInfo.ExpansionBoardID2 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID2.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID2.Value);
                }
                #endregion

                #region ɾ����չ��3
                if (modelControllerInfo.ExpansionBoardID3.HasValue & modelControllerInfo.ExpansionBoardID3 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID3.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID3.Value);
                }
                #endregion

                #region ɾ����չ4
                if (modelControllerInfo.ExpansionBoardID4.HasValue & modelControllerInfo.ExpansionBoardID4 != 0)
                {
                    deleteExpansionBoardPointInfo(modelControllerInfo.ExpansionBoardID4.Value);
                    deleteExpansionBoardInfo(modelControllerInfo.ExpansionBoardID4.Value);
                }
                #endregion

                #endregion

                #region ɾ���ŵ�Ԫ1
                //ɾ���ŵ�Ԫ
                if (modelControllerInfo.DoorUnitID1.HasValue & modelControllerInfo.DoorUnitID1.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID1.Value);
                    if (modelDoorUnitInfo == null)
                        return;
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ����������Ϣ
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }

                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }
                    }
                }

                #endregion

                #region ɾ���ŵ�Ԫ2
                //ɾ���ŵ�Ԫ
                if (modelControllerInfo.DoorUnitID2.HasValue & modelControllerInfo.DoorUnitID2.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID2.Value);
                    if (modelDoorUnitInfo == null)
                        return;
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ����������Ϣ
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }

                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }
                    }
                }
                #endregion

                #region ɾ���ŵ�Ԫ3
                //ɾ���ŵ�Ԫ
                if (modelControllerInfo.DoorUnitID3.HasValue & modelControllerInfo.DoorUnitID3.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID3.Value);
                    if (modelDoorUnitInfo == null)
                        return;
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ����������Ϣ
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }

                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }
                    }
                }
                #endregion

                #region ɾ���ŵ�Ԫ4
                //ɾ���ŵ�Ԫ
                if (modelControllerInfo.DoorUnitID4.HasValue & modelControllerInfo.DoorUnitID4.Value != 0)
                {
                    modelDoorUnitInfo = bllDoorUnitInfo.GetModel(modelControllerInfo.DoorUnitID4.Value);
                    if (modelDoorUnitInfo == null)
                        return;
                    deleteDooorUnit(modelDoorUnitInfo.DoorUnitID);

                    //ɾ����������Ϣ
                    if (modelDoorUnitInfo.ReadID1.HasValue & modelDoorUnitInfo.ReadID1.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID1.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);

                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);

                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }

                    }
                    if (modelDoorUnitInfo.ReadID2.HasValue & modelDoorUnitInfo.ReadID2.Value != 0)
                    {
                        modelReaderInfo = bllReaderInfo.GetModel(modelDoorUnitInfo.ReadID2.Value);
                        if (modelReaderInfo == null)
                            return;

                        deleteReaderHoliday(modelReaderInfo.ReaderID);
                        deleteReaderInfo(modelReaderInfo.ReaderID);
                        //ɾ���������ܹ���ģʽ
                        if (modelReaderInfo.ReadTimeAccessID.HasValue & modelReaderInfo.ReadTimeAccessID.Value != 0)
                        {
                            modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                            if (modelReaderTimeAccess == null)
                                return;

                            deleteReaderTimeAccess(modelReaderTimeAccess.ReaderTimeAccessID);
                            deleteReaderTimeZone(modelReaderTimeAccess.Mon.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Tue.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Wed.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Thu.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Fri.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sat.Value);
                            deleteReaderTimeZone(modelReaderTimeAccess.Sun.Value);

                        }
                    }
                }
                #endregion

            }
            refreshDataGridView();
        }