//树形选择事件 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (bgwWait.IsBusy == false && e.Node.Level == 1) { headModel = e.Node.Tag as SRCLParamSet.CraftsLineParamSet; bgwWait.RunWorkerAsync("SearchData"); } }
/// <summary> /// 组件工作事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bgwWait_DoWork(object sender, DoWorkEventArgs e) { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.START); try { switch (e.Argument.ToString()) { case "LoadTreeData": LoadTreeData(e); break; case "SearchData": using (SRCLParamSet.CLParamSetSerivceClient client = new SRCLParamSet.CLParamSetSerivceClient()) { var ret = client.GetCLParamSetsList(context.SessionID, headModel.ID); if (ret.IsSuccess) { headModel = ret.HeadData; lstbodyModel = ret.BodyData.OrderBy(t => t.Priority).ToList(); this.Invoke((MethodInvoker) delegate() { craftsLineParamSetBindingSource.DataSource = ret.HeadData; craftsLineParamSetsBindingSource.DataSource = lstbodyModel; gridControl1.RefreshDataSource(); }); } else { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message); } } break; case "SaveData": using (SRCLParamSet.CLParamSetSerivceClient client = new SRCLParamSet.CLParamSetSerivceClient()) { if (headModel.ID > 0) //保存 { this.AddSysOperLogs(this.Text, OperateStatus.修改, strCode: headModel.CraftsName); headModel.Modify = context.UserName; headModel.ModifyDate = DateTime.Now; var ret = client.UpdateCLParamSet(context.SessionID, headModel, lstbodyModel.ToArray()); if (ret.IsSuccess) { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.PROMPT, "保存成功!"); this.Invoke((MethodInvoker) delegate() { headModel = ret.HeadData; lstbodyModel = ret.BodyData.OrderBy(t => t.Priority).ToList(); craftsLineParamSetBindingSource.DataSource = headModel; craftsLineParamSetsBindingSource.DataSource = lstbodyModel; }); LoadTreeData(e); } else { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message); } } else //新增 { this.AddSysOperLogs(this.Text, OperateStatus.增加, strCode: headModel.CraftsName); var ret = client.AddCLParamSet(context.SessionID, headModel, lstbodyModel.ToArray()); if (ret.IsSuccess) { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.PROMPT, "新增成功!"); this.Invoke((MethodInvoker) delegate() { headModel = ret.HeadData; lstbodyModel = ret.BodyData.ToList(); craftsLineParamSetBindingSource.DataSource = headModel; craftsLineParamSetsBindingSource.DataSource = lstbodyModel; }); LoadTreeData(e); } else { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message); } } } break; case "DelData": using (SRCLParamSet.CLParamSetSerivceClient client = new SRCLParamSet.CLParamSetSerivceClient()) { this.AddSysOperLogs(this.Text, OperateStatus.除, strCode: headModel.CraftsCode); var retDel = client.DelCLParamSet(context.SessionID, headModel.ID); if (retDel.IsSuccess) { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.PROMPT, "删除成功!"); LoadTreeData(e); } else { bgwWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, retDel.Message); } } break; default: break; } } catch (System.ServiceModel.FaultException <SRCLParamSet.CustomFaultMessage> fex) { Utils.Logger.Error(fex.ToString()); bgwWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, fex.Message); } catch (Exception ex) { Utils.Logger.Error(ex.ToString()); bgwWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, ex.Message); } bgwWait.ReportProgress(PubConstant.WaitMessageStatus.END); }
private void barManager1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { if (bgwWait.IsBusy == false) { switch (e.Item.Name) { case "bbtniAdd": headModel = new SRCLParamSet.CraftsLineParamSet(); headModel.CreateDateTime = DateTime.Now; headModel.Creator = context.UserName; craftsLineParamSetBindingSource.DataSource = headModel; lstbodyModel = new List <SRCLParamSet.VCraftsLineParamSetDetail>(); //lstbodyModel.Add(new SRCLParamSet.CraftsLineParamSets()); craftsLineParamSetsBindingSource.DataSource = lstbodyModel; gridControl1.RefreshDataSource(); break; case "bbtniSave": gvDetail.CloseEditor(); craftsLineParamSetBindingSource.EndEdit(); craftsLineParamSetsBindingSource.EndEdit(); if (headModel.CraftsName.IsNullOrEmpty()) { ClsMsg.ShowWarningEmptyMsg(ItemForCraftsName.Text); CraftsNameButtonEdit.Focus(); return; } else if (headModel.WorkShop.IsNullOrEmpty()) { ClsMsg.ShowWarningEmptyMsg(ItemForWorkShop.Text); WorkShopTextEdit.Focus(); return; } else if (headModel.Treatment.IsNullOrEmpty()) { ClsMsg.ShowWarningEmptyMsg(ItemForTreatment.Text); TreatmentLookUpEdit.Focus(); return; } else if (headModel.Treatment.Equals("1") && (headModel.CraftsTaskTime.HasValue == false || headModel.CraftsTaskTime.Value <= 0)) { ClsMsg.ShowWarningMsg("处理方式为:自动,工艺总耗时不能小于零或为空!"); CraftsTaskTimeCalcEdit.Focus(); return; } else if (headModel.Order <= 0) { ClsMsg.ShowWarningMsg(ItemForOrder.Text + "不能小于等于零!"); OrderSpinEdit.Focus(); return; } else if (headModel.Treatment.Equals("1") && lstbodyModel.Count == 0) { ClsMsg.ShowWarningMsg("处理方式为:自动,工艺参数明细不能为空!"); return; } else if (lstbodyModel.Count > 0) { //if (lstbodyModel.Where(t => (t.Editprop.IsNullOrEmpty() || t.Editprop != "D")).OrderBy(t => t.Priority).First().Priority != 0) //{ // ClsMsg.ShowWarningMsg("工艺参数明细优先级没有开始参数"); // return; //} //else if (headModel.Treatment == "1") //处理方式:自动,判断必须有结束 { if (lstbodyModel.Where(t => (t.Editprop.IsNullOrEmpty() || t.Editprop != "D")).OrderByDescending(t => t.Priority).First().Priority != 100) { ClsMsg.ShowWarningMsg("工艺参数明细优先级没有结束参数"); return; } } for (int i = 0; i < lstbodyModel.Count; i++) { var item = lstbodyModel[i]; if (item.Editprop.IsNullOrEmpty() || item.Editprop.Equals("E")) { if (item.ParameterID == 0) { ClsMsg.ShowWarningEmptyMsg(string.Format("第{0}行参数名称", i.ToString())); return; } else if (item.UserStatus.IsNullOrEmpty()) { ClsMsg.ShowWarningEmptyMsg(string.Format("第{0}行使用状态", i.ToString())); return; } } } } if (ClsMsg.ShowQuestionMsg("是否要保存当前数据呢?") == DialogResult.Yes) { bgwWait.RunWorkerAsync("SaveData"); } break; case "bbtniDel": if (ClsMsg.ShowQuestionMsg("是否要删除当前数据呢?") == DialogResult.Yes) { bgwWait.RunWorkerAsync("DelData"); } break; case "bbtniDelRow": var curr = lstbodyModel.Where(t => t.Editprop != "D").ToList()[gvDetail.FocusedRowHandle]; curr.Editprop = "D"; craftsLineParamSetsBindingSource.DataSource = lstbodyModel; gridControl1.RefreshDataSource(); break; case "bbtniAddRow": lstbodyModel.Add(new SRCLParamSet.VCraftsLineParamSetDetail() { ID = headModel.ID, Editprop = "A", UserStatus = "0" }); craftsLineParamSetsBindingSource.DataSource = lstbodyModel; gridControl1.RefreshDataSource(); break; case "bbtniExit": this.Close(); break; default: break; } } } catch (Exception ex) { Utils.Logger.Error(ex.ToString()); ClsMsg.ShowErrMsg(ex.Message); } }