Esempio n. 1
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;
                        }
                    }
                }
            }
        }