/// <summary> /// 打开 /// </summary> private void OpenDetail() { PrjAmount selectPrjAmount = gvProgressMetering.GetFocusedRow() as PrjAmount; if (selectPrjAmount != null) { DoWorkRun("读取中,请稍后......", "读取数据中", () => { PrjAmount result = client.Get(selectPrjAmount.PrjamountNo); return(result); }, (result, ex) => { if (ex == null) { PMDetailContainer form = new PMDetailContainer(); form.mainHandler = this; form.isEdit = false; form.DataSource = result as PrjAmount; AppForm.CurrentForm.ChangeForm(String.Format("第{0}期进度计量详细情况", form.DataSource.Periods), form, selectPrjAmount.PrjamountNo); } }); } }
/// <summary> /// 新增 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BarAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (LstAmount.Find(m => m.ProjectNo == AppConfig.SelectProject.ProjectNo && !m.Fixed) != null) { XtraMessageBox.Show("该项目存在未发布的数据,请确认发布后再进行填报", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } WBSBoq originWbsInfo = client.GetWbsInfo(AppConfig.SelectProject.ProjectNo); if (originWbsInfo == null || (originWbsInfo != null && string.IsNullOrEmpty(originWbsInfo.WbsNo))) { XtraMessageBox.Show("找不到该项目的WBS清单,请编写WBS清单后再新增进度计量数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } PrjAmount newData = new PrjAmount(); newData.ProjectNo = AppConfig.SelectProject.ProjectNo; newData.WbsNo = originWbsInfo.WbsNo; newData.PrepareBy = LoginInfor.LoginName; int MaxPeriod = client.GetMaxPeriod(AppConfig.SelectProject.ProjectNo) + 1; frmAddNew form = new frmAddNew(MaxPeriod); if (form.ShowDialog() == DialogResult.OK) { newData.Periods = form.Periods; newData.PeriodsName = form.PeriodsName; newData.PrjamountName = String.Format("{0}-第{1}期计量", AppConfig.SelectProject.ProjectName, newData.Periods); newData.CreateDate = form.CreateDate; newData.PrepareDate = form.CreateDate; DoWork("新增数据中,请稍后......", "新增数据", () => { client.Add(newData, LoginInfor.LoginName); }, (ex) => { if (ex == null) { LoadData(); } }); } }
/// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BarDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { PrjAmount deleteRow = gvProgressMetering.GetFocusedRow() as PrjAmount; if (deleteRow != null) { if (deleteRow.Fixed) { XtraMessageBox.Show("已发布,不可删除"); return; } if (LstAmount.Find(m => m.Periods > deleteRow.Periods && m.ProjectNo == deleteRow.ProjectNo) != null) { XtraMessageBox.Show("存在期数更大的数据,请按照期数从后往前删除。"); return; } if (XtraMessageBox.Show("确认删除?", "确认操作", MessageBoxButtons.OKCancel) == DialogResult.OK) { client.Delete(deleteRow.PrjamountNo, LoginInfor.LoginName); LoadData(); } } }