private void showUpdatePara()
        {
            #region 基本参数
            kryptonTextBoxReaderID.Text                  = modelReaderInfo.ReaderID.ToString();
            kryptonTextBoxReaderID.Enabled               = false;
            kryptonTextBoxReaderPointID.Text             = modelReaderInfo.ReaderPointID.ToString();
            kryptonTextBoxReaderPointID.Enabled          = false;
            kryptonComboBoxCommunicateType.SelectedIndex = modelReaderInfo.CommunicateType.Value;
            kryptonComboBoxCommunicateType_SelectedIndexChanged(null, null);
            #endregion

            #region TCP通讯参数
            if (modelReaderInfo.CommunicateType.Value == 1)
            {
                textBoxDeviceIP.Text         = modelReaderInfo.ReaderIP.Trim();
                textBoxMask.Text             = modelReaderInfo.ReaderSubnet.Trim();
                textBoxGateway.Text          = modelReaderInfo.ReaderGateway.Trim();
                textBoxDNS.Text              = modelReaderInfo.ReaderDNS == null ? "" : modelReaderInfo.ReaderDNS.Trim();
                kryptonTextBoxBackUpDNS.Text = modelReaderInfo.ReaderBuDNS == null ? "" : modelReaderInfo.ReaderBuDNS.Trim();
            }
            #endregion

            #region 485通讯参数
            if (modelReaderInfo.CommunicateType.Value == 2)
            {
                kryptonTextBoxControllerAddr485.Text      = modelReaderInfo.ReaderAddr483.ToString();
                kryptonTextBoxControllerBaudrate.Text     = modelReaderInfo.ReaderBaudrate.ToString();
                kryptonLabelControllerDataBits.Text       = modelReaderInfo.ReaderDataBits.ToString();
                kryptonTextBoxControllerStopBits.Text     = modelReaderInfo.ReaderStopBits.ToString();
                kryptonComboBoxControllerParityCheck.Text = modelReaderInfo.ReaderParityCheck.ToString();
                kryptonTextBoxControllerFlowControl.Text  = modelReaderInfo.ReaderFlowControl.ToString();
            }
            #endregion
            #region 时间设置
            if (modelReaderInfo.ReadTimeAccessID.HasValue)
            {
                modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                getReaderTimeZone(modelReaderTimeAccess);
            }
            else
            {
                modelReaderInfo.ReadTimeAccessID         = bllReaderTimeAccess.GetMaxId();
                modelReaderTimeAccess.ReaderTimeAccessID = modelReaderInfo.ReadTimeAccessID.Value;
                getReaderTimeZone(modelReaderTimeAccess);
            }

            #endregion
        }
        private void addReaderTimeAccess(ref AccessDataBase.Model.ReaderTimeAccess modelReaderTimeAccess)
        {
            modelReaderTimeAccess.ReaderTimeAccessName = "周工作模式" + modelReaderTimeAccess.ReaderTimeAccessID;

            getModelReaderTimeZoneGroup();

            foreach (AccessDataBase.Model.ReaderTimeZone readerTimeZone in arrarymodelReaderTimeZone)
            {
                readerTimeZone.ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(readerTimeZone);
            }
            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;
        }
        private void getReaderTimeZone(AccessDataBase.Model.ReaderTimeAccess modelReaderTimeAccess)
        {
            if (modelReaderTimeAccess.Mon.HasValue)
            {
                arrarymodelReaderTimeZone[0] = bllReaderTimeZone.GetModel(modelReaderTimeAccess.Mon.Value);
                showDateTimePickerFormReaderTimeZone(ref timeModeAccessTime1, arrarymodelReaderTimeZone[0]);
            }
            if (modelReaderTimeAccess.Tue.HasValue)
            {
                arrarymodelReaderTimeZone[1] = bllReaderTimeZone.GetModel(modelReaderTimeAccess.Thu.Value);
                showDateTimePickerFormReaderTimeZone(ref timeModeAccessTime2, arrarymodelReaderTimeZone[1]);
            }
            if (modelReaderTimeAccess.Tue.HasValue)
            {
                arrarymodelReaderTimeZone[2] = bllReaderTimeZone.GetModel(modelReaderTimeAccess.Tue.Value);
                showDateTimePickerFormReaderTimeZone(ref timeModeAccessTime3, arrarymodelReaderTimeZone[2]);
            }
            if (modelReaderTimeAccess.Wed.HasValue)
            {
                arrarymodelReaderTimeZone[3] = bllReaderTimeZone.GetModel(modelReaderTimeAccess.Wed.Value);
                showDateTimePickerFormReaderTimeZone(ref timeModeAccessTime4, arrarymodelReaderTimeZone[3]);
            }
            if (modelReaderTimeAccess.Fri.HasValue)
            {
                arrarymodelReaderTimeZone[4] = bllReaderTimeZone.GetModel(modelReaderTimeAccess.Fri.Value);
                showDateTimePickerFormReaderTimeZone(ref timeModeAccessTime5, arrarymodelReaderTimeZone[4]);
            }
            if (modelReaderTimeAccess.Sat.HasValue)
            {
                arrarymodelReaderTimeZone[5] = bllReaderTimeZone.GetModel(modelReaderTimeAccess.Sat.Value);
                showDateTimePickerFormReaderTimeZone(ref timeModeAccessTime6, arrarymodelReaderTimeZone[5]);
            }

            if (modelReaderTimeAccess.Sun.HasValue)
            {
                arrarymodelReaderTimeZone[6] = bllReaderTimeZone.GetModel(modelReaderTimeAccess.Sun.Value);
                showDateTimePickerFormReaderTimeZone(ref timeModeAccessTime7, arrarymodelReaderTimeZone[6]);
            }
        }
        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 updateReaderTimeAccess(ref AccessDataBase.Model.ReaderTimeAccess modelReaderTimeAccess)
        {
            if (bllReaderTimeAccess.Exists(modelReaderTimeAccess.ReaderTimeAccessID))
            {
                modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderTimeAccess.ReaderTimeAccessID);
            }
            else
            {
                bllReaderTimeAccess.Add(modelReaderTimeAccess);
            }
            getModelReaderTimeZoneGroup();
            if (modelReaderTimeAccess.Mon.HasValue)
            {
                arrarymodelReaderTimeZone[0].ReaderTimeZoneID = modelReaderTimeAccess.Mon.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[0]);
            }
            else
            {
                modelReaderTimeAccess.Mon = arrarymodelReaderTimeZone[0].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[0]);
            }

            if (modelReaderTimeAccess.Thu.HasValue)
            {
                arrarymodelReaderTimeZone[1].ReaderTimeZoneID = modelReaderTimeAccess.Thu.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[1]);
            }
            else
            {
                modelReaderTimeAccess.Thu = arrarymodelReaderTimeZone[1].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[1]);
            }

            if (modelReaderTimeAccess.Tue.HasValue)
            {
                arrarymodelReaderTimeZone[2].ReaderTimeZoneID = modelReaderTimeAccess.Tue.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[2]);
            }
            else
            {
                modelReaderTimeAccess.Tue = arrarymodelReaderTimeZone[2].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[2]);
            }
            if (modelReaderTimeAccess.Wed.HasValue)
            {
                arrarymodelReaderTimeZone[3].ReaderTimeZoneID = modelReaderTimeAccess.Wed.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[3]);
            }
            else
            {
                modelReaderTimeAccess.Wed = arrarymodelReaderTimeZone[3].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[3]);
            }
            if (modelReaderTimeAccess.Fri.HasValue)
            {
                arrarymodelReaderTimeZone[4].ReaderTimeZoneID = modelReaderTimeAccess.Fri.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[4]);
            }
            else
            {
                modelReaderTimeAccess.Fri = arrarymodelReaderTimeZone[4].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[4]);
            }
            if (modelReaderTimeAccess.Sat.HasValue)
            {
                arrarymodelReaderTimeZone[5].ReaderTimeZoneID = modelReaderTimeAccess.Sat.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[5]);
            }
            else
            {
                modelReaderTimeAccess.Sat = arrarymodelReaderTimeZone[5].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[5]);
            }
            if (modelReaderTimeAccess.Sun.HasValue)
            {
                arrarymodelReaderTimeZone[6].ReaderTimeZoneID = modelReaderTimeAccess.Sun.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[6]);
            }
            else
            {
                modelReaderTimeAccess.Sun = arrarymodelReaderTimeZone[6].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[6]);
            }
            bllReaderTimeAccess.Update(modelReaderTimeAccess);
        }
        private void updateReaderTimeAccess(ref AccessDataBase.Model.ReaderTimeAccess modelReaderTimeAccess)
        {
            if (bllReaderTimeAccess.Exists(modelReaderTimeAccess.ReaderTimeAccessID))
            {
                modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderTimeAccess.ReaderTimeAccessID);
            }
            else
            {
                bllReaderTimeAccess.Add(modelReaderTimeAccess);
            }
            getModelReaderTimeZoneGroup();
            if (modelReaderTimeAccess.Mon.HasValue)
            {
                arrarymodelReaderTimeZone[0].ReaderTimeZoneID = modelReaderTimeAccess.Mon.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[0]);
            }
            else
            {
                modelReaderTimeAccess.Mon = arrarymodelReaderTimeZone[0].ReaderTimeZoneID =  bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[0]);
            }

            if (modelReaderTimeAccess.Thu.HasValue)
            {
                arrarymodelReaderTimeZone[1].ReaderTimeZoneID = modelReaderTimeAccess.Thu.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[1]);
            }
            else
            {
                modelReaderTimeAccess.Thu = arrarymodelReaderTimeZone[1].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[1]);
            }

            if (modelReaderTimeAccess.Tue.HasValue)
            {
                arrarymodelReaderTimeZone[2].ReaderTimeZoneID = modelReaderTimeAccess.Tue.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[2]);
            }
            else
            {
                modelReaderTimeAccess.Tue = arrarymodelReaderTimeZone[2].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[2]);
            }
            if (modelReaderTimeAccess.Wed.HasValue)
            {
                arrarymodelReaderTimeZone[3].ReaderTimeZoneID = modelReaderTimeAccess.Wed.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[3]);
            }
            else
            {
                modelReaderTimeAccess.Wed = arrarymodelReaderTimeZone[3].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[3]);
            }
            if (modelReaderTimeAccess.Fri.HasValue)
            {
                arrarymodelReaderTimeZone[4].ReaderTimeZoneID = modelReaderTimeAccess.Fri.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[4]);
            }
            else
            {
                modelReaderTimeAccess.Fri = arrarymodelReaderTimeZone[4].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[4]);
            }
            if (modelReaderTimeAccess.Sat.HasValue)
            {
                arrarymodelReaderTimeZone[5].ReaderTimeZoneID = modelReaderTimeAccess.Sat.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[5]);
            }
            else
            {
                modelReaderTimeAccess.Sat = arrarymodelReaderTimeZone[5].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[5]);
            }
            if (modelReaderTimeAccess.Sun.HasValue)
            {
                arrarymodelReaderTimeZone[6].ReaderTimeZoneID = modelReaderTimeAccess.Sun.Value;
                bllReaderTimeZone.Update(arrarymodelReaderTimeZone[6]);
            }
            else
            {
                modelReaderTimeAccess.Sun = arrarymodelReaderTimeZone[6].ReaderTimeZoneID = bllReaderTimeZone.GetMaxId();
                bllReaderTimeZone.Add(arrarymodelReaderTimeZone[6]);
            }
            bllReaderTimeAccess.Update(modelReaderTimeAccess);
        }
        private void showUpdatePara()
        {
            #region ��������
            kryptonTextBoxReaderID.Text = modelReaderInfo.ReaderID.ToString();
            kryptonTextBoxReaderID.Enabled = false;
            kryptonTextBoxReaderPointID.Text = modelReaderInfo.ReaderPointID.ToString();
            kryptonTextBoxReaderPointID.Enabled = false;
            kryptonComboBoxCommunicateType.SelectedIndex = modelReaderInfo.CommunicateType.Value;
            kryptonComboBoxCommunicateType_SelectedIndexChanged(null,null);
            #endregion

            #region TCPͨѶ����
            if (modelReaderInfo.CommunicateType.Value == 1)
            {
                textBoxDeviceIP.Text = modelReaderInfo.ReaderIP.Trim();
                textBoxMask.Text = modelReaderInfo.ReaderSubnet.Trim();
                textBoxGateway.Text = modelReaderInfo.ReaderGateway.Trim();
                textBoxDNS.Text = modelReaderInfo.ReaderDNS == null ? "" : modelReaderInfo.ReaderDNS.Trim();
                kryptonTextBoxBackUpDNS.Text = modelReaderInfo.ReaderBuDNS == null ? "" : modelReaderInfo.ReaderBuDNS.Trim();
            }
            #endregion

            #region 485ͨѶ����
            if (modelReaderInfo.CommunicateType.Value == 2)
            {
                kryptonTextBoxControllerAddr485.Text = modelReaderInfo.ReaderAddr483.ToString();
                kryptonTextBoxControllerBaudrate.Text = modelReaderInfo.ReaderBaudrate.ToString();
                kryptonLabelControllerDataBits.Text = modelReaderInfo.ReaderDataBits.ToString();
                kryptonTextBoxControllerStopBits.Text = modelReaderInfo.ReaderStopBits.ToString();
                kryptonComboBoxControllerParityCheck.Text = modelReaderInfo.ReaderParityCheck.ToString();
                kryptonTextBoxControllerFlowControl.Text = modelReaderInfo.ReaderFlowControl.ToString();
            }
            #endregion
            #region ʱ������
            if (modelReaderInfo.ReadTimeAccessID.HasValue)
            {
                modelReaderTimeAccess = bllReaderTimeAccess.GetModel(modelReaderInfo.ReadTimeAccessID.Value);
                getReaderTimeZone( modelReaderTimeAccess);
            }
            else
            {
                modelReaderInfo.ReadTimeAccessID = bllReaderTimeAccess.GetMaxId();
                modelReaderTimeAccess.ReaderTimeAccessID = modelReaderInfo.ReadTimeAccessID.Value;
                getReaderTimeZone( modelReaderTimeAccess);
            }

            #endregion
        }
        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();
        }