public frmDepartment(DB_Talk.Model.m_Departments model, int operate)
         {
            InitializeComponent();
            if (Global.Params.ConfigModel.SystemConfig.MaxNameTextLengh != 0)
                this.txtName.MaxLength = Global.Params.ConfigModel.SystemConfig.MaxNameTextLengh;// Global.Params.NameLen;

            if (operate == 0)
            {
                this.FormTitle = "添加";
                btnOK.Text = "添加";
            }
            else
            {

                _mModel = model;
                this.FormTitle = "编辑";
                btnOK.Text = "编辑";
                ShowModel();
            }
           
        }
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<DB_Talk.Model.m_Departments> DataTableToList(DataSet ds)
		{
			List<DB_Talk.Model.m_Departments> modelList = new List<DB_Talk.Model.m_Departments>();
			if (ds == null) return modelList;
            DataTable dt = ds.Tables[0];
			int rowsCount = dt.Rows.Count;
			if (rowsCount > 0)
			{
				DB_Talk.Model.m_Departments model;
				for (int n = 0; n < rowsCount; n++)
				{
				  model = new DB_Talk.Model.m_Departments();	
                  if(dt.Rows[n]["ID"]!=null && dt.Rows[n]["ID"].ToString()!="")
				  {
				      model.ID=int.Parse(dt.Rows[n]["ID"].ToString());
				  }
				  if(dt.Rows[n]["vc_Name"]!=null && dt.Rows[n]["vc_Name"].ToString()!="")
				  {
				     model.vc_Name= dt.Rows[n]["vc_Name"].ToString();
				  }
				  if(dt.Rows[n]["vc_Memo"]!=null && dt.Rows[n]["vc_Memo"].ToString()!="")
				  {
				     model.vc_Memo= dt.Rows[n]["vc_Memo"].ToString();
				  }
				  if(dt.Rows[n]["i_Flag"]!=null && dt.Rows[n]["i_Flag"].ToString()!="")
				  {
				      model.i_Flag=int.Parse(dt.Rows[n]["i_Flag"].ToString());
				  }
				   modelList.Add(model);
				
				}
			}
			return modelList;
		}
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public DB_Talk.Model.m_Member DataRowToModel(DataRow row)
        {
            DB_Talk.Model.m_Member model = new DB_Talk.Model.m_Member();
            if (row != null)
            {
                try
                {
                    model.BoxID = Global.Params.BoxID;
                    //model.NumberTypeID = 4;// CommControl.PublicEnums.EnumNumberType.SIP.GetHashCode();
                    //姓名
                    string strName = row["用户姓名"].ToString().Replace(" ", "");
                    bool CheckLen = strName.Length <=  Global.Params.ConfigModel.SystemConfig.MaxNameTextLengh;
                    if (Global.Params.ConfigModel.SystemConfig.MaxNameTextLengh == 0)
                        CheckLen = true;

                    if (row["用户姓名"] != null && strName != "" &&
                        CheckLen && 
                        checkFormat(false, ref strName, false))
                    {
                        model.vc_Name = strName;
                    }
                    else
                    {
                        return model=null;
                    }

                    //电话
                    string strTel = row["电话号码"].ToString().Replace(" ","");
                    if (row["电话号码"] != null && strTel != "" &&
                        strTel.Length == Global.Params.NumberLen &&
                        checkFormat(true, ref strTel, false))
                    {
                        string str = strTel.Trim().Substring(0, 1);
                        if (Global.Params.strNumHead.IndexOf(str) < 0)
                        {
                            return model = null;
                        }
                        model.i_Number = int.Parse(strTel);

                    }
                    else
                    {
                        return model = null;
                    }
                    if (model.i_Number > Math.Pow(10, Global.Params.NumberLen) - 1) return model = null;

                    //部门
                    string strDept = row["部门"].ToString().Replace(" ", "");
                    if (row["部门"] != null && strDept != "" && strDept.Length <= 10)
                    {
                       
                        DB_Talk.Model.m_Departments modelDept = new DB_Talk.BLL.m_Departments().GetModel("i_Flag=0 and vc_Name='" + strDept + "'");
                        if (modelDept != null)
                            model.DepartmentID = modelDept.ID;
                        else  //无部门时添加部门
                        {
                            modelDept = new DB_Talk.Model.m_Departments();
                            modelDept.vc_Name = strDept;
                            model.DepartmentID = new DB_Talk.BLL.m_Departments().Add(modelDept, true);
                        }
                    }
                    

                    //用户权限
                    if (row["用户权限"] != null && row["用户权限"].ToString() != "")
                    {
                        string strAuthority = row["用户权限"].ToString().Replace(" ", "");
                        switch (strAuthority)
                        {
                            case "国际长途":
                                model.i_Authority = 0;
                                break;
                            case "国内长途":
                                model.i_Authority = 1;
                                break;
                            case "市话":
                                model.i_Authority = 2;
                                break;
                            case "内部分机":
                                model.i_Authority = 3;
                                break;
                            case "禁止主叫":
                                model.i_Authority = 4;
                                break;

                            default:
                                return model = null;
                        }
                    }
                    else
                    {
                        return model = null;
                    }

                    //号码类型
                    if (row["电话类型"] != null && row["电话类型"].ToString() != "")
                    {
                        string strTellType = row["电话类型"].ToString().Replace(" ", "").ToUpper();
                        switch (strTellType)
                        {
                            case "WIFI手机":
                                model.i_TellType = PublicEnums.EnumTelType.WiFi手机.GetHashCode();
                                model.NumberTypeID = PublicEnums.EnumNumberType.手机Wifi.GetHashCode();
                                model.i_NuPasswordType = PublicEnums.EnumTelPasswordType.增加.GetHashCode();
                                model.i_NuPassword = (uint)model.i_Number;
                                break;
                            case "3G手机":
                                if (Global.Params.BoxType == MBoxSDK.ConfigSDK.EnumDeviceType.T_HT8000_3G)  //目前只有800B支持3G)
                                {
                                    model.i_TellType = PublicEnums.EnumTelType.G3G手机.GetHashCode();
                                    model.NumberTypeID = PublicEnums.EnumNumberType.手机3G.GetHashCode();
                                    if (row["标示码"] != null && row["标示码"].ToString() != "")
                                    {
                                        string strUmtsImsi = row["标示码"].ToString().Replace(" ", "");
                                        if (strUmtsImsi.Length == Global.Params.UmtsImsiLen)
                                            model.vc_UmtsImsi = strUmtsImsi;
                                        else
                                            return model = null;
                                    }
                                }
                                else
                                {
                                    return model = null;
                                }
                              
                                break;
                            case "固话":  //wifi和固话 默认密码为增加模式 与号码相同
                                 model.i_TellType = PublicEnums.EnumTelType.固话.GetHashCode();
                                 model.NumberTypeID = PublicEnums.EnumNumberType.固话.GetHashCode();
                                 model.i_NuPasswordType = PublicEnums.EnumTelPasswordType.增加.GetHashCode();
                                 model.i_NuPassword = (uint)model.i_Number;
                                break;
                            case "广播":  //wifi和固话 默认密码为增加模式 与号码相同
                                model.i_TellType = PublicEnums.EnumTelType.广播.GetHashCode();
                                model.NumberTypeID = PublicEnums.EnumNumberType.固话.GetHashCode();  //固话、wifi手机、广播=4
                                model.i_NuPasswordType = PublicEnums.EnumTelPasswordType.增加.GetHashCode();
                                model.i_NuPassword = (uint)model.i_Number;
                                if (row["广播IP"] != null && row["广播IP"].ToString() != "")
                                {
                                    string strIP = row["广播IP"].ToString().Replace(" ", "");
                                    if (Global.Methods.checkIP(strIP))
                                    {
                                        model.vc_IP = strIP;
                                    }
                                    else
                                        return model = null;
                                }
                                break;
                            default:
                                return model = null;
                        }
                    }
                    else
                    {
                        return model = null;
                    }
                    //if (model.i_Number < Math.Pow(10, Global.Params.NumberLen-1) - 1) return model = null;
                }
                catch
                {
                    model = null;
                }
            }
            return model;
        }
		/// <summary>
		/// 根据条件得到一个对象实体
		/// </summary>
		public DB_Talk.Model.m_Departments GetModel(string strWhere)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("  select top 1 ");
			strSql.Append("  ID, vc_Name, vc_Memo, i_Flag  ");			
			strSql.Append("  from m_Departments ");
			if(strWhere.Trim()!="")
			{
				strSql.Append(" where "+strWhere);
			}
			DB_Talk.Model.m_Departments model=new DB_Talk.Model.m_Departments();
			DataSet ds=GetDataSet(strSql.ToString());
			if(ds!=null && ds.Tables[0].Rows.Count>0)
			{
                model=DataTableToList(ds)[0];						
				return model;
			}
			else
			{
				return null;
			}
		}