コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
            }
        }