Red de conocimiento informático - Computadora portátil - Programa C#, ¿para qué se utiliza este programa? Ayúdenme a descubrirlo. No puedo explicar por qué están escritas estas cuatro líneas.

Programa C#, ¿para qué se utiliza este programa? Ayúdenme a descubrirlo. No puedo explicar por qué están escritas estas cuatro líneas.

Usar System;

Usar System.Collections.Generic;

Usar System.Data.Entity;

Usar System.Linq;

Utilice ?System.Text;

Utilice ?System.Web;

Utilice ?System.Web.UI;

Utilice ?System.Web.UI.WebControls ;

espacio de nombres?BomListTest

{

¿público?partial?clase?index?

{

protegido ?void?Page_Load(object?sender,?EventArgs?e)

{

if?(!IsPostBack)

{

DBBomEntities?entity?=?new?DBBomEntities();

var?listBom?=?entity.TbBom;

//LoadParentBom

LoadParentPartNo(listBom) ;

var?bom?=?new?{?b?=?listBom.Where(p?=>?p.PartNo?==?"" 1000"&&p.ParentPartNo=="") .FirstOrDefault(),

c?=?listBom.Where(p?=>?p.PartNo?==?"" 1000"&&p.ParentPartNo=="").Sum(p=> p.Qty)?} ;

if?(bom?==?null?||?

if?(bom?==?null?|?bom.b? ==?null)?return;

TreeNode?,?bom.b.MaterialName,?bom.c);

node.Value?=?bom.b.MaterialCode;

node.Expanded?=?false;

node.ToolTip?=?"" ;

node.ImageUrl?=?"~\image\true .gif";

mainTree.Nodes.Add(nodo);

ResolveSubTree(listBom,?bom.b,?node);

}

p>

}

¿Privado?LoadParentPartNo(DbSet?listBom)

{

var?mCode?=? string.Format(" A{0}",?listBom.Max(p?=>?p.PartNo)?==?null "1000"? :?(Convert.ToInt32(listBom.Max(p?=>? p.PartNo)) ?+?1).ToString());

txtMaterialCode.Text?=?mCode;

listBom.ToList().ForEach(p?=> ?ddlParentPartNo.Items Agregar(nuevo?ListItem(p.MaterialName,?p.PartNo));

ddlP.

arentPartNo.DataBind();

}

//?

//?Expandir recursivamente Bom

//?

//? Todos los conjuntos de datos

//? Raíz Material del nodo

//? Nodo raíz del árbol

private?void?ResolveSubTree(DbSet? listBom,?TbBom?bom,?TreeNode?TreeNode)

{

//Obtener todos los materiales del nodo de origen cuyo código de material es el código del nodo principal

Lista < TbBom>?subListClone?=?listBom.Where(p??=>?p.ParentPartNo?==? ParentPartNo?==?bom.PartNo).ToList();

//Obtener todo el código de material del nodo de origen para el código del nodo principal del material (filtrado de material duplicado, usado como un bucle)

var?subList?=?listBom.Where(p??=>?p.ParentPartNo? ? ==?bom.PartNo).ToList();

Var?=>?p.ParentPartNo?==?bom.PartNo).Where(partNo).Where(partNo).Dónde(partNo) ) .Where(partNo).Where(p?PartNo).GroupBy(p?=>?p.PartNo).Select(p?=>?p.FirstOrDefault()).ToList();

//Si contiene subnodos

if?(subList.Count?>?0)

{

//El árbol se expande

treeNode.Expanded?Expanded?=?false;

//Recorrer los nodos secundarios

foreach(TbBom?subBom?in?subList)

{

//Consulta los nodos secundarios del nodo principal actual y los nodos secundarios del nodo principal.

Resumen del número de nodos secundarios

var?sbom?=?new?{?b?=?subBom,?c?=?subListClone.Where(p?=>?p.PartNo?== ?subBom.PartNo).Select(p?=>?p.Qty).Sum()?}

//Creando nodos

TreeNode?node?=?new? TreeNode() ;

node.Value?=?sbom.b.PartNo;

node.ToolTip?=?GetParentNodeNames( listBom,?bom.ParentNos);

treeNode.ChildNodes.Add(nodo);

if?(Valied(bom.ParentNos,?sbom.b.PartNo))

{

node.ImageUrl?ImageUrl?=?"~\image\flase.gif";

node.Text?=?string.Format("{0}",?sbom.b.MaterialName);

continuar;

}

else

{

node.ImageUrl?=?" ~\image \true.gif";

node.Text?=?string.Format("{0}({1})",?sbom.b.MaterialName,?sbom.c);

node.ImageUrl?c);

}

ResolveSubTree( listBom,?subBom,?node);

}

}

}

}

}

//?

//? Determinar si el nodo principal existe

//?

//?

/ /?

//?

¿privado?

{

int?len ?=?parentNo .Longitud;

for(int?i?=?0;?i?

{

if?(parentNo.Substring(i,?4)?4)? ==?subNo)

{

return?true;

}

}

}

return?false;

}

// ?

//?Seguir el nombre del nodo principal

//?

//?

//? /param>

//?

privado?cadena ?GetParentNodeNames(DbSet?listBom,?cadena?parentNodeNo

)

{

int?len?=?parentNodeNo.Length;

StringBuilder?build?=?new?StringBuilder();

for?(int?i?=?len;?i?>?0;?i?-?=?4)

{

var?bom?=? listBom.FirstOrDefault(p?=>?p.PartNo?==?parentNodeNo.Substring(i?-?4,?4));

if?(bom! =?null)

{

build.Append(bom.MaterialName);

}

if?(i?>?4)

{

build.Append("-");

}

}

return.build.ToString();

}

protected.void.btnAdd_Click(object.sender,.EventArgs.e)

{

TbBom.bom.= ?new?TbBom();

bom.MaterialCode?=?txtMaterialCode.Text.Trim();

bom.MaterialName?=?txtMaterialName.Text.Trim();

bom.

bom.PartNo?=?txtPartNo.Text.Trim();

bom.ParentPartNo?=?ddlParentPartNo.SelectedValue;

bom.Qty?=?Convert.ToInt32(txtQty.Text.Trim());

DBBomEntities?eeity?=?new?DBBomEntities();

var? padre?=?eeity.TbBom.Where(p?=>?p.PartNo?==?ParentPartNo).FirstOrDefault();

if(padre!=?null)

{

// Conjunto de materiales padre-hijo

bom.ParentNos?=?string.Format("{0}{1}",?parent.ParentNos,?bom. PartNo);

}

else

If?p>{

// Conjunto de materiales entre padres e hijos

bom.ParentNos?=?string.Format("{0}",?bom.PartNo);

}

eneity.TbBom.Add(bom); p>

eneity.SaveChanges();

Si?Guardar cambios();

Response.Redirect("index.aspx");

}

}

}

}