/// <summary> /// 保存方法 /// </summary> private bool SaveMethod() { //新单模式 if (string.IsNullOrEmpty(PTBQuotation.Bill_Status)) { string newQuotationNo = string.Empty; //手动录入单号情况 if (m_IsHand) { //校验是否新单 if (t_txt_QuotationNo.Text.Trim() == "新单" || string.IsNullOrEmpty(t_txt_QuotationNo.Text.Trim())) { XMessageBox.Warning("报价单号不能为空或包含【新单】字符!"); t_txt_QuotationNo.Focus(); return(false); } //校验是否重号 var temp = from p in m_Entities.PT_B_Quotation where p.Quotation_No == t_txt_QuotationNo.Text.Trim() select p; if (temp.ToList().Count > 0) { string mes = string.Format("报价单号:{0} 已存在,请修改!", t_txt_QuotationNo.Text.Trim()); XMessageBox.Warning(mes); t_txt_QuotationNo.Focus(); return(false); } newQuotationNo = t_txt_QuotationNo.Text.Trim(); } else { //单号自动生成 newQuotationNo = m_SerialNumberMethod.GetMaxQNumber(); } PTBQuotation.Quotation_Id = Guid.NewGuid().ToString("N"); SaveModel(newQuotationNo); m_Entities.PT_B_Quotation.Add(PTBQuotation); t_txt_QuotationNo.Text = newQuotationNo; t_tslStateText.Text = "已入库"; } else { //打开单证,手动录入单号情况 if (m_IsHand) { //校验是否新单 if (t_txt_QuotationNo.Text.Trim() == "新单" || string.IsNullOrEmpty(t_txt_QuotationNo.Text.Trim())) { XMessageBox.Warning("报价单号不能为空或包含【新单】字符!"); t_txt_QuotationNo.Focus(); return(false); } //当报价单号有修改时 if (t_txt_QuotationNo.Text.Trim() != PTBQuotation.Quotation_No) { //读取数据库判断是否有重号 ProjectTrackingEntities qEntities = new ProjectTrackingEntities(); var temp = from p in qEntities.PT_B_Quotation where p.Quotation_No == t_txt_QuotationNo.Text.Trim() select p; if (temp.ToList().Count > 0) { string mes = string.Format("报价单号:{0} 已存在,请修改!", t_txt_QuotationNo.Text.Trim()); XMessageBox.Warning(mes); t_txt_QuotationNo.Focus(); return(false); } ProjectTrackingEntities pEntities = new ProjectTrackingEntities(); //读取原报价单所关联的项目单 var project = from p in pEntities.PT_B_Project where p.Quotation_No == PTBQuotation.Quotation_No orderby p.Project_No select p; //修改项目单的关联报价单号 foreach (PT_B_Project projectModel in project) { projectModel.Quotation_No = t_txt_QuotationNo.Text.Trim(); pEntities.Entry(projectModel).State = System.Data.Entity.EntityState.Modified; } if (project.ToList().Count > 0) { pEntities.SaveChanges(); } } } SaveModel(t_txt_QuotationNo.Text); m_Entities.Entry(PTBQuotation).State = System.Data.Entity.EntityState.Modified; } m_Entities.SaveChanges(); return(true); }
/// <summary> /// 删除按钮事件 /// </summary> /// <param name="sender">事件对象</param> /// <param name="e">事件参数</param> private void t_btn_Delete_Click(object sender, RoutedEventArgs e) { try { if (t_pgg_Bill.SelectedItem == null) { XMessageBox.Warning("未选中一条单据!", this); return; } XTreeNode myItem = t_tvw_Module.SelectedItem as XTreeNode; string myTag = string.Empty; string parentTag = string.Empty; if (myItem == null && m_MQuery != null) { myTag = m_MQuery.BillType; } else { myTag = myItem.Tag.ToString(); if (myItem.Parent != null) { parentTag = myItem.Parent.Tag.ToString(); } } if (myTag == "Q" || parentTag == "Q") { PT_B_Quotation myModel = (PT_B_Quotation)t_pgg_Bill.SelectedItem; if (myModel.Bill_Status != "R") { MessageResult myResult = XMessageBox.Ask("确认删除当前选中的单据?", this); if (myResult == MessageResult.Yes) { myModel.Bill_Status = "R"; m_Entities.SaveChanges(); RefreshTreeNode(); } } else { MessageResult myResult = XMessageBox.Ask("确认彻底删除当前选中的单据?", this); if (myResult == MessageResult.Yes) { m_Entities.PT_B_Quotation.Remove(myModel); m_Entities.SaveChanges(); RefreshTreeNode(); } } } else { PT_B_Project myModel = (PT_B_Project)t_pgg_Bill.SelectedItem; if (myModel.Bill_Status != "R") { MessageResult myResult = XMessageBox.Ask("确认删除当前选中的单据?", this); if (myResult == MessageResult.Yes) { myModel.Bill_Status = "R"; m_Entities.SaveChanges(); RefreshTreeNode(); } } else { MessageResult myResult = XMessageBox.Ask("确认彻底删除当前选中的单据?", this); if (myResult == MessageResult.Yes) { m_Entities.PT_B_Project.Remove(myModel); m_Entities.SaveChanges(); RefreshTreeNode(); } } } } catch (Exception ex) { XMessageBox.Exception(ex); } }