Ejemplo n.º 1
0
        /// <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);
                    }
                });
            }
        }
Ejemplo n.º 2
0
        /// <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();
                    }
                });
            }
        }
Ejemplo n.º 3
0
        /// <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();
                }
            }
        }