private bool IsChangeUserArea(StructUserArea userArea, StructBillSetting setting)
        {
            StructUserArea temuserArea = null;
            StructUserArea defaultArea = null;

            for (int i = 0; i < this.userAreas.Count; i++)
            {
                StructUserArea tem = this.userAreas[i];
                if (tem.Usertype == userArea.Usertype && tem.Areatype == userArea.Areatype)
                {
                    temuserArea = tem;
                }
                if (tem.Usertype == 0 && tem.Areatype == 0)
                {
                    defaultArea = tem;
                }
            }

            if (temuserArea == null)
            {
                temuserArea = defaultArea;
            }

            bool userAreaChange = true, settingChange = true;

            if (temuserArea.OrdinaryInterval == userArea.OrdinaryInterval &&
                temuserArea.OrdinaryPrice == userArea.OrdinaryPrice &&
                temuserArea.OrdinaryMin == userArea.OrdinaryMin &&
                temuserArea.NightInterval == userArea.NightInterval &&
                temuserArea.NightPrice == userArea.NightPrice &&
                temuserArea.NightMin == userArea.NightMin
                )
            {
                userAreaChange = false;
            }

            StructBillSetting temSetting = this.settings[temuserArea.Index];

            if (temSetting.Day0 == setting.Day0 &&
                temSetting.Day1 == setting.Day1 &&
                temSetting.Day2 == setting.Day2 &&
                temSetting.Day3 == setting.Day3 &&
                temSetting.Day4 == setting.Day4 &&
                temSetting.Day5 == setting.Day5 &&
                temSetting.Day6 == setting.Day6)
            {
                settingChange = false;
            }


            return((!userAreaChange) && (!settingChange));
        }
        //设置GridViewSelectCells
        private void SetDataGridViewSelectCells(StructBillSetting setting, string nRate, string bRate)
        {
            for (int row = 0; row < 7; row++)
            {
                Int32 day = 0;
                if (row == 0)
                {
                    day = setting.Day0;
                }
                else if (row == 1)
                {
                    day = setting.Day1;
                }
                else if (row == 2)
                {
                    day = setting.Day2;
                }
                else if (row == 3)
                {
                    day = setting.Day3;
                }
                else if (row == 4)
                {
                    day = setting.Day4;
                }
                else if (row == 5)
                {
                    day = setting.Day5;
                }
                else
                {
                    day = setting.Day6;
                }

                string dur = Convert.ToString(day, 2).PadLeft(24, '0');
                for (int column = 1; column < this.dataGridView1.ColumnCount; column++)
                {
                    DataGridViewCell cell = this.dataGridView1.Rows[row].Cells[column];
                    int isSelect          = int.Parse(dur.Substring(column - 1, 1));
                    if (isSelect == 1)
                    {
                        cell.Selected = true;
                        cell.Value    = nRate;
                        //cell.ToolTipText = nRate;
                    }
                    else
                    {
                        cell.Value = bRate;
                    }
                }
            }
        }
        //保存当前区域设置
        private void SaveCurrentAreaSetting()
        {
            if (this.selectAreaLabel != null && this.selectTypeLabel != null)
            {
                Int32 area = Int32.Parse(this.selectAreaLabel.Name.Split('_')[1]);
                Int32 type = Int32.Parse(this.selectTypeLabel.Name.Split('_')[1]);
                if (!this.nDurComboBoxEdit.Text.Equals("") &&
                    !this.nDurPrieceText.Text.Equals("") &&
                    !this.nMinConsumeText.Text.Equals("") &&
                    !this.bDurComboBoxEdit.Text.Equals("") &&
                    !this.bDurPrieceText.Text.Equals("") &&
                    !this.bMinConsumeText.Text.Equals(""))
                {
                    // 判断一下是否与之前的都一样
                    DeleteUserArea(type, area);

                    //设置新Setting ,UserType
                    StructBillSetting setting = this.GetSelectRateSetting().Build();

                    StructUserArea.Builder currentUserArea = new StructUserArea.Builder();
                    currentUserArea.OrdinaryInterval = Int32.Parse(this.nDurComboBoxEdit.Text);
                    currentUserArea.OrdinaryPrice    = Int32.Parse(this.nDurPrieceText.Text);
                    currentUserArea.OrdinaryMin      = Int32.Parse(this.nMinConsumeText.Text);

                    currentUserArea.NightInterval = Int32.Parse(this.bDurComboBoxEdit.Text);
                    currentUserArea.NightPrice    = Int32.Parse(this.bDurPrieceText.Text);
                    currentUserArea.NightMin      = Int32.Parse(this.bMinConsumeText.Text);
                    currentUserArea.Areatype      = area;
                    currentUserArea.Usertype      = type;
                    currentUserArea.Index         = 0;

                    //相对于服务器保存的进行判断是否改变
                    if (this.IsChangeUserArea(currentUserArea.Build(), setting))
                    {
                        this.DeleteUserArea(type, area);
                    }
                    else
                    {
                        this.updateRateMange.AddSetting(setting);
                        int index = this.updateRateMange.SettingCount - 1;
                        currentUserArea.Index = index;
                        this.updateRateMange.AddUserArea(currentUserArea);
                    }
                }
            }
        }
        //显示区域设置
        private void ShowAreaSetting(StructUserArea UserArea, StructBillSetting setting)
        {
            //
            this.dataGridView1.ClearSelection();

            this.nDurComboBoxEdit.Text = UserArea.OrdinaryInterval.ToString();
            this.nDurPrieceText.Text   = UserArea.OrdinaryPrice.ToString();
            this.nMinConsumeText.Text  = UserArea.OrdinaryMin.ToString();

            this.bDurComboBoxEdit.Text = UserArea.NightInterval.ToString();
            this.bDurPrieceText.Text   = UserArea.NightPrice.ToString();
            this.bMinConsumeText.Text  = UserArea.NightMin.ToString();

            this.nRateLabel.Text = ((60 / UserArea.OrdinaryInterval) * UserArea.OrdinaryPrice).ToString();
            this.bRateLabel.Text = ((60 / UserArea.NightInterval) * UserArea.NightPrice).ToString();


            //显示选择的区域
            SetDataGridViewSelectCells(setting, this.nRateLabel.Text, this.bRateLabel.Text);
        }
        private void GetUserArea(Int32 type, Int32 area, out StructUserArea userArea, out StructBillSetting setting)
        {
            StructUserArea temuserArea = null;
            StructUserArea defaultArea = null;


            for (int i = 0; i < this.updateRateMange.UserAreaCount; i++)
            {
                StructUserArea tem = this.updateRateMange.GetUserArea(i);
                if (tem.Usertype == type && tem.Areatype == area)
                {
                    temuserArea = tem;
                }
            }

            if (temuserArea != null)
            {
                userArea = temuserArea;
                setting  = this.updateRateMange.GetSetting(userArea.Index);
                return;
            }

            for (int i = 0; i < this.userAreas.Count; i++)
            {
                StructUserArea tem = this.userAreas[i];
                if (tem.Usertype == type && tem.Areatype == area)
                {
                    temuserArea = tem;
                }
                if (tem.Usertype == 0 && tem.Areatype == 0)
                {
                    defaultArea = tem;
                }
            }
            if (temuserArea == null)
            {
                temuserArea = defaultArea;
            }

            userArea = temuserArea;
            setting  = this.settings[userArea.Index];
        }