private bool CheckCondition(Model.BuidingBatchCondition objCondition, out string strErrMessage) { bool bIfOk = false; strErrMessage = ""; if (objCondition != null) { if (objCondition.UnitID <= 0) { strErrMessage = "单元编号小于0"; } if (!(objCondition.UnitID <= 0 || objCondition.BeginCode >= objCondition.EndCode)) { //0010 0011 //0010 1111 } } else { strErrMessage = "无调教"; } return(bIfOk); }
/// <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); }
protected override void BtnOK_Click(object sender, EventArgs e) { int iAreaID = Convert.ToInt32(((Model.ComboBoxItem)cbArea.SelectedItem).Value); int iBuildID = Convert.ToInt32(((Model.ComboBoxItem)cbBuild.SelectedItem).Value); int iUnitID = Convert.ToInt32(((Model.ComboBoxItem)cbUnit.SelectedItem).Value); string strBeginCode = txtRoomCodeBegin.Text.Trim(); string strEndCode = txtRoomCodeEnd.Text.Trim(); if (iAreaID <= 0) { CMessageBox.ShowError("请选择一个小区!", Config.DialogTitle); return; } if (iBuildID <= 0) { CMessageBox.ShowError("请选择一个楼栋!", Config.DialogTitle); return; } if (iUnitID <= 0) { CMessageBox.ShowError("请选择一个单元!", Config.DialogTitle); return; } if (strBeginCode.Equals("") || !Functions.IsInt(strBeginCode)) { txtRoomCodeBegin.Focus(); CMessageBox.ShowError(string.Format("请输入起始楼层房间编码,且范围必须是0~9999之间的整数!"), Config.DialogTitle); return; } int iBeginCode = Functions.FormatInt(strBeginCode); if (!(iBeginCode >= 0 && iBeginCode <= 9999)) { txtRoomCodeBegin.Focus(); CMessageBox.ShowError(string.Format("输入的起始楼层房间编码超出范围,取值范围是0~9999之间的整数!"), Config.DialogTitle); return; } if (strEndCode.Equals("") || !Functions.IsInt(strEndCode)) { txtRoomCodeEnd.Focus(); CMessageBox.ShowError(string.Format("请输入结束楼层房间编码,且范围必须是0~9999之间的整数!"), Config.DialogTitle); return; } int iEndCode = Functions.FormatInt(strEndCode); if (!(iEndCode >= 0 && iEndCode <= 9999)) { txtRoomCodeEnd.Focus(); CMessageBox.ShowError(string.Format("输入的结束楼层房间编码超出范围,取值范围是0~9999之间的整数!"), Config.DialogTitle); return; } if (iBeginCode >= iEndCode) { txtRoomCodeBegin.Focus(); CMessageBox.ShowError(string.Format("输入的起始楼层房间编码大于或等于结束楼层房间编码,请保证前者比后则小!"), Config.DialogTitle); return; } string strBegin = FormatRoomCode(iBeginCode); string strEnd = FormatRoomCode(iEndCode); int iBeginRoom = Convert.ToInt32(strBegin.Substring(2, 2)); int iEndRoom = Convert.ToInt32(strEnd.Substring(2, 2)); if (iBeginRoom >= iEndRoom) { txtRoomCodeBegin.Focus(); CMessageBox.ShowError(string.Format("输入的起始房间编码大于或等于结束房间编码,请保证前者比后则小!"), Config.DialogTitle); return; } if (MessageBox.Show("确定要现在批量生成吗?", Config.DialogTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } //0010 0011 //0018 1111 btnOK.Enabled = false; btnCancel.Enabled = false; tbxComunicateData.Clear(); Model.BuidingBatchCondition objCondition = new Model.BuidingBatchCondition(iUnitID, iBeginCode, iEndCode); ThreadPool.QueueUserWorkItem(new WaitCallback(TaskProcess), objCondition); }