private void butSure_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(rtbRejectReason.Text)) { MessageBox.Show("驳回理由不能为空。", "提示"); return; } JReportRejectItem reportReject = new JReportRejectItem(); reportReject.驳回人 = _userData.Name; reportReject.驳回理由 = rtbRejectReason.Text; reportReject.驳回时间 = _reportDbModel.GetServerDate(); reportReject.驳回状态 = (int)ReportRejectState.rrsRejecting; _reportData.驳回信息.驳回明细.Add(reportReject); _reportData.状态信息.是否驳回中 = true; _reportData.状态信息.最后更新时间 = _reportDbModel.GetServerDate(); _reportDbModel.RejectReport(_reportData); _isOk = true; this.Close(); } catch (Exception ex) { MsgBox.ShowException(ex, this); } }
private void tsbCancel_Click(object sender, EventArgs e) { try { if (dataGridView1.DataSource == null || dataGridView1.SelectedRows.Count <= 0) { MessageBox.Show("请选择需要撤销的驳回信息。", "提示"); return; } if (dataGridView1.SelectedRows[0] != dataGridView1.Rows[0]) { MessageBox.Show("只能撤销最后一次驳回信息。", "提示"); return; } //验证用户级别 JReportSignInfo signInfo = _reportData.签名信息; JReportSignItem signLast = signInfo.签名明细[signInfo.签名明细.Count - 1]; if (signLast.用户名称 != _userData.Name) { if (_userData.Level < signLast.用户级别) { MessageBox.Show("报告最后已由 [" + signLast.用户名称 + "] 处理,无权进行撤销。", "提示"); return; } if (_userData.Level == signLast.用户级别) { if (!(_reportPars.EqualAdutingLevel > -1 && _userData.Level >= _reportPars.EqualAdutingLevel)) { MessageBox.Show("报告最后已由 [" + signLast.用户名称 + "] 处理,无权进行撤销。", "提示"); return; } } } //检查状态是否改变 if (CheckStateChange(_reportData) == false) { return; } DataGridViewRow dvr = dataGridView1.SelectedRows[0]; string rejectKey = dvr.Cells["Key"].Value.ToString(); JReportRejectInfo rejectInfo = _reportData.驳回信息; int backIndex = rejectInfo.驳回明细.FindIndex(T => T.Key == rejectKey); if (backIndex < 0) { MessageBox.Show("未找到对应驳回信息,不能进行撤销。", "提示"); return; } JReportRejectItem rejectItem = rejectInfo.驳回明细[backIndex]; if (rejectItem == null) { MessageBox.Show("当前所选驳回信息无效,不能进行撤销。", "提示"); return; } if (rejectItem.驳回状态 != 0) { MessageBox.Show("当前驳回已被处理,不能进行撤销。", "提示"); return; } rejectItem.驳回状态 = (int)ReportRejectState.rrsCanceled; _reportData.状态信息.是否驳回中 = false; _reportData.状态信息.最后更新时间 = _reportDbModel.GetServerDate(); _reportDbModel.RejectReport(_reportData); _isOk = true; } catch (Exception ex) { MsgBox.ShowException(ex, this); } }