Esempio n. 1
0
        /// <summary>
        /// 初始化数据
        /// </summary>
        private void InitData()
        {
            IDAL.IBuilding objDAL = DALFactory.DALFactory.Building();
            //小区
            cbArea.Items.Add(new Model.ComboBoxItem("请选择小区", 0));
            cbBuild.Items.Add(new Model.ComboBoxItem("请选择楼栋", 0));
            cbUnit.Items.Add(new Model.ComboBoxItem("请选择单元", 0));
            cbRoom.Items.Add(new Model.ComboBoxItem("请选择房间", 0));
            cbArea.SelectedIndex  = 0;
            cbBuild.SelectedIndex = 0;
            cbUnit.SelectedIndex  = 0;
            cbRoom.SelectedIndex  = 0;

            IList <Model.Building> lsAll = objDAL.GetListByWhere(-1, 100000, "1=1");
            //小区
            IList <Model.Building> listArea = lsAll.Where(s => s.FID == 0).ToList();

            if (!(listArea == null || listArea.Count <= 0))
            {
                foreach (Model.Building model in listArea)
                {
                    cbArea.Items.Add(new Model.ComboBoxItem(string.Format("{0}|{1}", model.BName.Replace("|", ""), FormatBuildingCode(model.Code)), model.ID));
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 绑定数据到列表
        /// </summary>
        /// <param name="selNum">数据条数</param>
        /// <param name="sqlWhereAndOrderBy">条件</param>
        protected override void BindLVData(int selNum = 0, string sqlWhereAndOrderBy = null)
        {
            this.lvContent.BeginUpdate();
            this.lvContent.Items.Clear();
            try
            {
                if (selNum <= 0)
                {
                    selNum = this.DefaultPageSize;
                }
                if (string.IsNullOrEmpty(sqlWhereAndOrderBy) || sqlWhereAndOrderBy.Equals(""))
                {
                    sqlWhereAndOrderBy = "1=1";
                }
                this.CurrentSqlWhere = sqlWhereAndOrderBy;

                IList <Building> listData = null;
                IDAL.IBuilding   objDAL   = DALFactory.DALFactory.Building();
                listData = objDAL.GetListByWhere(this._DataType, selNum, sqlWhereAndOrderBy);
                if (!(listData == null || listData.Count <= 0))
                {
                    foreach (Building model in listData)
                    {
                        ListViewItem item = null;

                        //当前模块
                        switch (this._DataType)
                        {
                        case 0:    //小区
                            //序号,50|小区名称,100|小区编码,80|小区序列号,130|管理员姓名,100|管理员联系电话,110
                            item = new ListViewItem(new string[] { Convert.ToString(this.lvContent.Items.Count + 1), model.BName, FormatBuildingCode(model.Code), model.BuildingSerialNo, model.Contact, model.Tel });
                            break;

                        case 1:    //栋
                            //序号,50|楼栋名称,100|楼栋编码,80|所在小区,100|管理员姓名,100|管理员联系电话,110
                            item = new ListViewItem(new string[] { Convert.ToString(this.lvContent.Items.Count + 1), model.BName, FormatBuildingCode(model.Code), model.FatherInfo.BName, model.Contact, model.Tel });
                            break;

                        case 2:    //单元
                            //序号,50|单元名称,100|单元编码,80|所在楼栋,100|所在小区,120|管理员姓名,100|管理员联系电话,110
                            item = new ListViewItem(new string[] { Convert.ToString(this.lvContent.Items.Count + 1), model.BName, FormatBuildingCode(model.Code), model.FatherInfo.BName, model.FatherInfo.FatherInfo.BName, model.Contact, model.Tel });
                            break;

                        case 3:    //房间
                            //序号,50|房间名称,100|房间编码,80|所在单元,100|所在楼栋,100|所在小区,120|管理员姓名,100|管理员联系电话,110
                            item = new ListViewItem(new string[] { Convert.ToString(this.lvContent.Items.Count + 1), model.BName, FormatRoomCode(model.Code), model.FatherInfo.BName, model.FatherInfo.FatherInfo.BName, model.FatherInfo.FatherInfo.FatherInfo.BName, model.Contact, model.Tel });
                            break;
                        }
                        item.Tag  = model;
                        item.Font = new Font("宋体", 9, FontStyle.Regular);
                        this.lvContent.Items.Add(item);
                    }
                }
            }
            catch (Exception)
            {
            }
            this.lvContent.EndUpdate();
        }
Esempio n. 3
0
        /// <summary>
        /// 创建选择的数据
        /// </summary>
        private void DeleteSelectedData(object state)
        {
            bool   bIfSucc      = false;
            string strErrMessag = "未知错误";

            SetButtonEnabled(false);
            try
            {
                if (this._FormIfClose)
                {
                    return;
                }
                Model.SelecedTreeNodeData objSelecedTreeNodeData = (Model.SelecedTreeNodeData)state;
                if (!(objSelecedTreeNodeData.SelectedDataList == null || objSelecedTreeNodeData.SelectedDataList.Count == 0))
                {
                    IDAL.IBuilding objDalBuilding = DALFactory.DALFactory.Building();
                    IDAL.ISys      objDalSys      = DALFactory.DALFactory.Sys();
                    foreach (Model.NodeData objData in objSelecedTreeNodeData.SelectedDataList)
                    {
                        if (objData.Flag.Equals(-1))
                        {
                            //全部
                            bIfSucc = objDalSys.DeleteData(0);
                        }
                        else if (objData.Flag >= 0 && objData.Flag <= 3)
                        {
                            bool bSucc = objDalBuilding.Delete(objData.ID);
                            if (bSucc)
                            {
                                bIfSucc = bSucc;
                            }
                        }
                    }
                }
                if (bIfSucc)
                {
                    InitTree();
                }
            }
            catch (Exception err)
            {
                strErrMessag = err.Message;
            }
            if (bIfSucc)
            {
                RefreshTreeByThread();
            }
            SetButtonEnabled(true);
            if (bIfSucc)
            {
                CMessageBox.ShowSucc("恭喜您,删除成功!", Config.DialogTitle);
                //当建筑信息删除时,通知其他已开启的树
                Manager.GetInstance().BuildingDataChangeNotice();
            }
            else
            {
                CMessageBox.ShowError(string.Format("对不起,删除失败,错误原因:\r\n{0}", strErrMessag), Config.DialogTitle);
            }
        }
Esempio n. 4
0
        private void CbCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.IfFormLoadOk)
            {
                ComboBox cbCurrent  = (ComboBox)sender;
                string   strCbName  = cbCurrent.Name;
                int      iCurrentID = Convert.ToInt32(((Model.ComboBoxItem)cbCurrent.SelectedItem).Value);

                if (iCurrentID > 0)
                {
                    IDAL.IBuilding         objDAL       = DALFactory.DALFactory.Building();
                    IList <Model.Building> lsAll        = objDAL.GetListByWhere(-1, 100000, "1=1");
                    IList <Model.Building> listBuilding = lsAll.Where(s => s.FID == iCurrentID).ToList();
                    if (string.Compare(strCbName, "cbArea", true) == 0)
                    {
                        //楼栋
                        cbBuild.Items.Clear();
                        cbBuild.Items.Add(new Model.ComboBoxItem("请选择楼栋", 0));

                        //初始化楼栋
                        if (!(listBuilding == null || listBuilding.Count <= 0))
                        {
                            foreach (Model.Building model in listBuilding)
                            {
                                cbBuild.Items.Add(new Model.ComboBoxItem(string.Format("{0}", model.BName), model.ID));
                            }
                        }
                        cbBuild.SelectedIndex = 0;
                    }
                    else if (string.Compare(strCbName, "cbBuild", true) == 0)
                    {
                        //单元
                        cbUnit.Items.Clear();
                        cbUnit.Items.Add(new Model.ComboBoxItem("请选择单元", 0));

                        //初始化单元
                        if (!(listBuilding == null || listBuilding.Count <= 0))
                        {
                            foreach (Model.Building model in listBuilding)
                            {
                                cbUnit.Items.Add(new Model.ComboBoxItem(string.Format("{0}", model.BName), model.ID));
                            }
                        }
                        cbUnit.SelectedIndex = 0;
                    }
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="selectedItems">当前选择的所有项</param>
        protected override void OnDelete(ListView.SelectedListViewItemCollection selectedItems)
        {
            if (MessageBox.Show(string.Format("删除{0}数据的同时会把下属的建筑数据以及卡片信息一起删除,请慎重选择,确定要删除当前选择的{1}数据吗?", this._DataTypeName, this._DataTypeName), Config.DialogTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }

            int iSuccNum  = 0;
            int iFaultNum = 0;

            foreach (ListViewItem selectedItem in selectedItems)
            {
                Building       objModel = (Building)selectedItem.Tag;
                IDAL.IBuilding objDal   = DALFactory.DALFactory.Building();
                if (objDal.Delete(objModel.ID))
                {
                    iSuccNum++;
                }
                else
                {
                    iFaultNum++;
                }
            }

            if (iSuccNum == 0)
            {
                CMessageBox.ShowError("对不起,删除失败!", Config.DialogTitle);
            }
            else if (iFaultNum == 0)
            {
                CMessageBox.ShowSucc("恭喜您,删除成功!", Config.DialogTitle);
            }
            else
            {
                CMessageBox.ShowSucc(string.Format("{0}个删除成功,{1}个删除失败", iSuccNum, iFaultNum), Config.DialogTitle);
            }
            if (iSuccNum > 0)
            {
                //重新刷新列表
                BindLVData(0, this.CurrentSqlWhere);
                //当建筑信息删除时,通知其他已开启的树
                Manager.GetInstance().BuildingDataChangeNotice();
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 绑定数据到树
        /// </summary>
        /// <param name="objTV">树控件</param>
        /// <param name="iDeep">树的深度,0:只输出到小区;1:只输出到楼栋;2:只输出到单元;3:只输出到房间;</param>
        /// <param name="bIfShowUnGroup">是否显示分类</param>
        protected void BindBuildTreeData(TreeView objTV, int iDeep, bool bIfShowUnGroup = false)
        {
            //objTV.SelectedNode = null;
            TreeNode root = CreateTreeNode(new Model.NodeData(-1, Config.SoftName, 0));

            if (bIfShowUnGroup)
            {
                root.Nodes.Add(CreateTreeNode(new NodeData(20, "未归属卡片", 0)));
            }
            IDAL.IBuilding         objDAL = DALFactory.DALFactory.Building();
            IList <Model.Building> lsAll  = objDAL.GetListByWhere(-1, this.DefaultPageSize, "1=1");

            if (!(lsAll == null || lsAll.Count <= 0))
            {
                BuildTree(root.Nodes, 0, lsAll, iDeep, bIfShowUnGroup);
            }
            objTV.BeginUpdate();
            objTV.Nodes.Clear();
            objTV.Nodes.Add(root);
            objTV.EndUpdate();
        }
Esempio n. 7
0
        private void InitData()
        {
            this.lvContent.BeginUpdate();
            this.lvContent.Items.Clear();
            IDAL.IBuilding   objDAL   = DALFactory.DALFactory.Building();
            IList <Building> listData = objDAL.GetListByWhere(0, this.DefaultPageSize, "1=1");

            if (!(listData == null || listData.Count <= 0))
            {
                foreach (Building model in listData)
                {
                    ListViewItem item = new ListViewItem(new string[] { Convert.ToString(lvContent.Items.Count + 1), model.BName, FormatBuildingCode(model.Code), model.BuildingSerialNo })
                    {
                        Tag  = model,
                        Font = new Font("宋体", 9, FontStyle.Regular)
                    };
                    this.lvContent.Items.Add(item);
                }
            }
            this.lvContent.EndUpdate();
        }
Esempio n. 8
0
        /// <summary>
        /// 创建楼层房间
        /// </summary>
        private void TaskProcess(object state)
        {
            int iSuccNum  = 0;
            int iFaultNum = 0;

            SetButtonEnabled(false);
            try
            {
                Model.BuidingBatchCondition objCondition = (Model.BuidingBatchCondition)state;
                if (objCondition != null)
                {
                    if (!(objCondition.UnitID <= 0 || objCondition.BeginCode >= objCondition.EndCode))
                    {
                        string strBegin    = FormatRoomCode(objCondition.BeginCode);
                        string strEnd      = FormatRoomCode(objCondition.EndCode);
                        int    iBeginFLoor = Convert.ToInt32(strBegin.Substring(0, 2));
                        int    iEndFLoor   = Convert.ToInt32(strEnd.Substring(0, 2));

                        int iBeginRoom = Convert.ToInt32(strBegin.Substring(2, 2));
                        int iEndRoom   = Convert.ToInt32(strEnd.Substring(2, 2));

                        IList <Model.Building> listRoom = new List <Model.Building>();
                        if (iBeginFLoor < iEndFLoor)
                        {
                            for (int f = iBeginFLoor; f <= iEndFLoor; f++)
                            {
                                for (int r = iBeginRoom; r <= iEndRoom; r++)
                                {
                                    Model.Building objModel = new Model.Building()
                                    {
                                        Flag             = 3,
                                        FID              = objCondition.UnitID,
                                        ID               = 0,
                                        BName            = BQ2(f) + BQ2(r),
                                        Code             = f * 100 + r,
                                        Contact          = "",
                                        Tel              = "",
                                        BuildingSerialNo = ""
                                    };
                                    listRoom.Add(objModel);
                                }
                            }
                        }
                        else
                        {
                            for (int r = iBeginRoom; r <= iEndRoom; r++)
                            {
                                Model.Building objModel = new Model.Building()
                                {
                                    Flag = 3,
                                    FID  = objCondition.UnitID,
                                    ID   = 0,
                                    Code = iBeginFLoor * 100 + r
                                };
                                objModel.BName            = FormatRoomCode(objModel.Code);
                                objModel.Contact          = "";
                                objModel.Tel              = "";
                                objModel.BuildingSerialNo = "";
                                listRoom.Add(objModel);
                            }
                        }

                        string strErrorInfo = "";
                        if (!(listRoom == null || listRoom.Count == 0))
                        {
                            IDAL.IBuilding objDAL = DALFactory.DALFactory.Building();
                            foreach (Model.Building objModel in listRoom)
                            {
                                if (this._FormIfClose)
                                {
                                    return;
                                }
                                int iNewID = objDAL.Add(objModel, out strErrorInfo);
                                if (iNewID <= 0)
                                {
                                    iFaultNum++;
                                    ShowNotice(string.Format("创建楼层房间{0}数据失败,(原因:{1})!", objModel.BName, strErrorInfo));
                                }
                                else
                                {
                                    iSuccNum++;
                                    ShowNotice(string.Format("创建楼层房间{0}数据成功!", objModel.BName));
                                }
                            }
                        }
                        ShowNotice(string.Format("\r\n生成报告:成功数{0},失败数{1},总计:{2}!\r\n\r\n", iSuccNum, iFaultNum, (iSuccNum + iFaultNum)));
                    }
                }
            }
            catch (Exception err)
            {
                ShowNotice(string.Format("创建房间数据失败,(原因:{0})!", err.Message));
            }
            SetButtonEnabled(true);
            if (iSuccNum > 0)
            {
                Manager.GetInstance().BuildingDataChangeNotice();
            }
            CMessageBox.ShowSucc("生成结束!", Config.DialogTitle);
        }
Esempio n. 9
0
        protected override void BtnOK_Click(object sender, EventArgs e)
        {
            int iNewAreaID  = 0;
            int iNewBuildID = 0;
            int iNewUnitID  = 0;

            int    iCode       = 0;
            int    iFatherID   = 0;
            string strBName    = txtName.Text.Trim();
            string strCode     = txtCode.Text.Trim();
            string strContact  = txtContact.Text.Trim();
            string strTel      = txtTel.Text.Trim();
            string strSerialNo = txtSerialNo.Text.Trim();

            int iSelectID = 0;

            if (cbArea.Visible)
            {
                iSelectID = Convert.ToInt32(((Model.ComboBoxItem)cbArea.SelectedItem).Value);
                if (iSelectID <= 0)
                {
                    CMessageBox.ShowError("请选择一个小区!", Config.DialogTitle);
                    return;
                }
                if (this._DataType.Equals(1))
                {
                    iFatherID = iSelectID;
                }
                iNewAreaID = iSelectID;
            }
            if (cbBuild.Visible)
            {
                iSelectID = Convert.ToInt32(((Model.ComboBoxItem)cbBuild.SelectedItem).Value);
                if (iSelectID <= 0)
                {
                    CMessageBox.ShowError("请选择一个楼栋!", Config.DialogTitle);
                    return;
                }
                if (this._DataType.Equals(2))
                {
                    iFatherID = iSelectID;
                }
                iNewBuildID = iSelectID;
            }
            if (cbUnit.Visible)
            {
                iSelectID = Convert.ToInt32(((Model.ComboBoxItem)cbUnit.SelectedItem).Value);
                if (iSelectID <= 0)
                {
                    CMessageBox.ShowError("请选择一个单元!", Config.DialogTitle);
                    return;
                }
                if (this._DataType.Equals(3))
                {
                    iFatherID = iSelectID;
                }
                iNewUnitID = iSelectID;
            }

            if (strBName.Equals(""))
            {
                txtName.Focus();
                CMessageBox.ShowError(string.Format("请输入{0}名称!", this._DataTypeName), Config.DialogTitle);
                return;
            }
            if (strCode.Equals("") || !Functions.IsInt(strCode))
            {
                txtCode.Focus();
                CMessageBox.ShowError(string.Format("{0}编码不能为空,且范围必须是{1}之间的整数!", this._DataTypeName, (this._DataType.Equals(3) ? "0~9999" : "0~99")), Config.DialogTitle);
                return;
            }
            iCode = Functions.FormatInt(strCode);
            if (cbUnit.Visible)
            {
                //是房间
                if (!(iCode >= 0 && iCode <= 9999))
                {
                    txtCode.Focus();
                    CMessageBox.ShowError(string.Format("输入的{0}编码超出范围,取值范围是0~9999之间的整数!", this._DataTypeName), Config.DialogTitle);
                    return;
                }
            }
            else
            {
                if (!(iCode >= 0 && iCode <= 99))
                {
                    txtCode.Focus();
                    CMessageBox.ShowError(string.Format("输入的{0}编码超出范围,取值范围是0~99之间的整数!", this._DataTypeName), Config.DialogTitle);
                    return;
                }
            }

            if (this._DataType.Equals(0) && !CheckSerialNo(strSerialNo))
            {
                txtSerialNo.Focus();
                CMessageBox.ShowError(string.Format("序列号必须填写,且必须是16字节的16进制字符!"), Config.DialogTitle);
                return;
            }

            if (MessageBox.Show("确定要保存吗?", Config.DialogTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }
            Model.Building objModel = new Model.Building()
            {
                Flag             = _DataType,
                FID              = iFatherID,
                ID               = this._CurrentID,
                BName            = strBName,
                Code             = iCode,
                Contact          = strContact,
                Tel              = strTel,
                BuildingSerialNo = strSerialNo
            };
            string strErrorInfo = "";

            IDAL.IBuilding objDAL = DALFactory.DALFactory.Building();
            if (this._CurrentAction.Equals(EAction.Create))
            {
                int iNewID = objDAL.Add(objModel, out strErrorInfo);
                if (iNewID <= 0)
                {
                    CMessageBox.ShowError(string.Format("创建{0}数据失败,错误如下:\r\n{1}!", this._DataTypeName, strErrorInfo), Config.DialogTitle);
                    return;
                }
            }
            else
            {
                bool bIfSucc = objDAL.Update(objModel, out strErrorInfo);
                if (!bIfSucc)
                {
                    CMessageBox.ShowError(string.Format("修改{0}数据失败,错误如下:\r\n{1}!", this._DataTypeName, strErrorInfo), Config.DialogTitle);
                    return;
                }
            }
            //是否通知建筑数据已经改变
            bool bIfNotice = false;

            if (this._CurrentAction == EAction.Create)
            {
                //新增必通知
                bIfNotice = true;
            }
            else
            {
                if (string.Compare(this._OldName, strBName) != 0 || !this._OldCode.Equals(iCode) || !this._OldAreaID.Equals(iNewAreaID) || !this._OldBuildID.Equals(iNewBuildID) || !this._OldUnitID.Equals(iNewUnitID))
                {
                    //条件满足通知
                    bIfNotice = true;
                }
            }
            if (bIfNotice)
            {
                Manager.GetInstance().BuildingDataChangeNotice();
            }
            this.DialogResult = DialogResult.OK;
        }
Esempio n. 10
0
        /// <summary>
        /// 初始化数据
        /// </summary>
        private void InitData()
        {
            int iAreaID, iBuildID, iUnitID;

            iAreaID = iBuildID = iUnitID = 0;

            IDAL.IBuilding objDAL = DALFactory.DALFactory.Building();
            //小区
            cbArea.Items.Add(new Model.ComboBoxItem("请选择小区", 0));
            cbBuild.Items.Add(new Model.ComboBoxItem("请选择楼栋", 0));
            cbUnit.Items.Add(new Model.ComboBoxItem("请选择单元", 0));
            cbArea.SelectedIndex  = 0;
            cbBuild.SelectedIndex = 0;
            cbUnit.SelectedIndex  = 0;

            if (this._CurrentAction.Equals(EAction.Edit))
            {
                Model.Building objModel = objDAL.GetModel(this._DataType, this._CurrentID);
                if (objModel != null)
                {
                    txtName.Text     = objModel.BName;
                    txtCode.Text     = objModel.Flag.Equals(3) ? FormatRoomCode(objModel.Code) : FormatBuildingCode(objModel.Code);
                    txtContact.Text  = objModel.Contact;
                    txtTel.Text      = objModel.Tel;
                    txtSerialNo.Text = objModel.BuildingSerialNo;

                    switch (this._DataType)
                    {
                    case 1:
                        iAreaID = objModel.FID;
                        break;

                    case 2:
                        iBuildID = objModel.FID;
                        iAreaID  = objModel.FatherInfo.FID;
                        break;

                    case 3:
                        iUnitID  = objModel.FID;
                        iBuildID = objModel.FatherInfo.FID;
                        iAreaID  = objModel.FatherInfo.FatherInfo.FID;
                        break;
                    }
                    //记录旧数据
                    this._OldName    = objModel.BName;
                    this._OldCode    = objModel.Code;
                    this._OldAreaID  = iAreaID;
                    this._OldBuildID = iBuildID;
                    this._OldUnitID  = iUnitID;
                }
            }
            else
            {
                Model.Building objModel = null;
                switch (this._DataType)
                {
                case 1:
                    iAreaID = this._CurrentParentID;
                    break;

                case 2:
                    iBuildID = this._CurrentParentID;
                    objModel = objDAL.GetModel(this._DataType - 1, iBuildID);
                    if (objModel != null)
                    {
                        iAreaID = objModel.FID;
                    }
                    break;

                case 3:
                    iUnitID  = this._CurrentParentID;
                    objModel = objDAL.GetModel(this._DataType - 1, iUnitID);
                    if (objModel != null)
                    {
                        iBuildID = objModel.FID;
                        iAreaID  = objModel.FatherInfo.FID;
                    }
                    break;
                }
            }

            if (iAreaID > 0 || (this._DataType >= 1 && this._DataType <= 3))
            {
                IList <Model.Building> lsAll = objDAL.GetListByWhere(-1, 100000, "1=1");

                int iCount       = 0;
                int iSelectIndex = 0;
                IList <Model.Building> listArea = lsAll.Where(s => s.FID == 0).ToList();
                if (!(listArea == null || listArea.Count <= 0))
                {
                    foreach (Model.Building model in listArea)
                    {
                        iCount++;
                        if (model.ID.Equals(iAreaID))
                        {
                            iSelectIndex = iCount;
                        }
                        cbArea.Items.Add(new Model.ComboBoxItem(model.BName, model.ID));
                    }
                    cbArea.SelectedIndex = iSelectIndex;
                    //新增时如果小区只有一个就自动选择那个小区
                    if (this._CurrentAction.Equals(EAction.Create) && iSelectIndex == 0 && listArea.Count == 1)
                    {
                        cbArea.SelectedIndex = 1;
                        iAreaID = listArea[0].ID;
                    }
                }

                //新增时如果只有一个楼栋
                if (this._CurrentAction.Equals(EAction.Create) && iAreaID > 0 && iBuildID == 0)
                {
                    IList <Model.Building> listBuild = lsAll.Where(s => s.FID == iAreaID).ToList();
                    if (!(listBuild == null || listBuild.Count <= 0))
                    {
                        if (listBuild.Count == 1)
                        {
                            iBuildID = listBuild[0].ID;
                        }
                    }
                }

                if (iAreaID > 0)
                {
                    iCount       = 0;
                    iSelectIndex = 0;
                    IList <Model.Building> listBuild = lsAll.Where(s => s.FID == iAreaID).ToList();
                    if (!(listBuild == null || listBuild.Count <= 0))
                    {
                        foreach (Model.Building model in listBuild)
                        {
                            iCount++;
                            if (model.ID.Equals(iBuildID))
                            {
                                iSelectIndex = iCount;
                            }
                            cbBuild.Items.Add(new Model.ComboBoxItem(model.BName, model.ID));
                        }
                        cbBuild.SelectedIndex = iSelectIndex;
                    }

                    //新增时如果只有一个单元
                    if (this._CurrentAction.Equals(EAction.Create) && iBuildID > 0 && iUnitID == 0)
                    {
                        IList <Model.Building> listUnit = lsAll.Where(s => s.FID == iBuildID).ToList();
                        if (!(listUnit == null || listUnit.Count <= 0))
                        {
                            if (listUnit.Count == 1)
                            {
                                iUnitID = listUnit[0].ID;
                            }
                        }
                    }

                    if (iBuildID > 0)
                    {
                        iCount       = 0;
                        iSelectIndex = 0;
                        IList <Model.Building> listUnit = lsAll.Where(s => s.FID == iBuildID).ToList();
                        if (!(listUnit == null || listUnit.Count <= 0))
                        {
                            foreach (Model.Building model in listUnit)
                            {
                                iCount++;
                                if (model.ID.Equals(iUnitID))
                                {
                                    iSelectIndex = iCount;
                                }
                                cbUnit.Items.Add(new Model.ComboBoxItem(model.BName, model.ID));
                            }
                            cbUnit.SelectedIndex = iSelectIndex;
                        }
                    }
                }
            }
        }