Пример #1
0
 protected void btnSave_Click(object sender, EventArgs e)
 {
     #region 检查
     //重复查询
     StringBuilder strwhere = new StringBuilder();
     strwhere.AppendFormat("ParentNO='{0}' and MaterialNO = '{1}'", Request.QueryString["parentNO"], tgbMaterialNO.Text);
     BLL.tb_JC_BOMSub bllBOMSub = new BLL.tb_JC_BOMSub();
     DataTable        dtBOMSub  = bllBOMSub.GetList(strwhere.ToString()).Tables[0];
     if (dtBOMSub.Rows.Count > 0)
     {
         Alert.ShowInTop("该项已存在!", "错误", MessageBoxIcon.Error);
         return;
     }
     if (nbxAmount.Text == "0")
     {
         Alert.ShowInTop("数量不能为0!", "错误", MessageBoxIcon.Error);
         nbxAmount.Focus();
         return;
     }
     //嵌套查询
     BLL.proc_BOM bllBOM_proc = new BLL.proc_BOM();
     int          exit        = bllBOM_proc.isNesting(Request.QueryString["parentNO"], tgbMaterialNO.Text);
     if (Request.QueryString["parentNO"].Equals(tgbMaterialNO.Text))
     {
         exit = 1;
     }
     if (exit == 1)
     {
         Alert.ShowInTop("存在嵌套,不能添加此物料!", "错误", MessageBoxIcon.Error);
         return;
     }
     #endregion
     #region 保存
     Model.tb_JC_BOMSub modelBOMSub = new Model.tb_JC_BOMSub();
     modelBOMSub.ID             = Guid.NewGuid().ToString();
     modelBOMSub.MaterialNO     = tgbMaterialNO.Text;
     modelBOMSub.MaterialType   = hdfPropertyNO.Text;
     modelBOMSub.ParentNO       = Request.QueryString["parentNO"].ToString();
     modelBOMSub.Amount         = decimal.Parse(nbxAmount.Text);
     modelBOMSub.BackFlush      = ddlBackFlush.SelectedValue;
     modelBOMSub.LeadTimeOffset = decimal.Parse(nbxLeadTimeOffset.Text + ".00");
     bool result = bllBOMSub.Add(modelBOMSub);
     if (result)
     {
         if (result)
         {
             Alert.ShowInTop("添加成功!", "信息", MessageBoxIcon.Information, ActiveWindow.GetHidePostBackReference("Sub_Add_Success"));
         }
         else
         {
             Alert.ShowInTop("添加失败!", "错误", MessageBoxIcon.Error, ActiveWindow.GetHidePostBackReference("Sub_Add_Fail"));
         }
     }
     #endregion
 }
Пример #2
0
        private XmlDocument getXmlDocument()
        {
            XmlDocument xmlDoc = new XmlDocument();

            if (gridBOMParent.SelectedRowIndex == -1)
            {
                xmlDoc = PublicMethod.getEmptyTree();
            }
            else
            {
                BLL.proc_BOM bllBOM     = new BLL.proc_BOM();
                string       materialNO = gridBOMParent.Rows[gridBOMParent.SelectedRowIndex].Values[1].ToString();
                DataSet      dsBOM      = bllBOM.Search(materialNO);
                xmlDoc = PublicMethod.getEmptyTree();
                if (dsBOM.Tables[0].Rows.Count == 0)
                {
                    return(xmlDoc);
                }
                xmlDoc.SelectSingleNode("Tree").RemoveAll();
                XmlElement element = xmlDoc.CreateElement("TreeNode");
                element.SetAttribute("Text", dsBOM.Tables[0].Rows[0]["ParentName"].ToString());
                element.SetAttribute("Number", dsBOM.Tables[0].Rows[0]["ParentNO"].ToString());
                element.SetAttribute("SingleClickExpand", "true");
                element.SetAttribute("Level", "0");
                xmlDoc.SelectSingleNode("//Tree").AppendChild(element);
                foreach (DataRow dr in dsBOM.Tables[0].Rows)
                {
                    element = xmlDoc.CreateElement("TreeNode");
                    element.SetAttribute("Text", dr["MaterialName"].ToString());
                    element.SetAttribute("Number", dr["MaterialNO"].ToString());
                    element.SetAttribute("SingleClickExpand", "true");
                    element.SetAttribute("Level", dr["Level"].ToString());
                    string parentLevel = (int.Parse(dr["Level"].ToString()) - 1).ToString();
                    int    i           = 0;
                    string path        = string.Format("//TreeNode[@Number='{0}' and @Level='{1}']", dr["ParentNO"], parentLevel);
                    while (true)
                    {
                        string childPath = string.Format("//TreeNode[@Number='{0}']", dr["MaterialNO"]);
                        if (xmlDoc.SelectNodes(path)[i].ChildNodes.Count != 0)
                        {
                            if (xmlDoc.SelectNodes(path)[i].SelectSingleNode(childPath) != null)
                            {
                                i = i + 1;
                                continue;
                            }
                            else
                            {
                                xmlDoc.SelectNodes(path)[i].AppendChild(element);
                                break;
                            }
                        }
                        else
                        {
                            xmlDoc.SelectNodes(path)[i].AppendChild(element);
                            break;
                        }
                    }
                }
            }
            return(xmlDoc);
        }