public void DrawTextToAllNodes(Node node, Node parent, ng.SystemVRF sysItem) { // RND if (sysItem.editrpt == false) { sysItem.IsExportToReport = true; } if (node is ng.MyNodeOut) { ng.MyNodeOut nodeOut = node as ng.MyNodeOut; DrawTextToAllNodes(nodeOut.ChildNode, nodeOut, sysItem); nodeOut.Stroke = System.Windows.Media.Brushes.RoyalBlue; } else if (node is ng.MyNodeYP) { ng.MyNodeYP nodeYP = node as ng.MyNodeYP; drawTextToOtherNode(node, parent, sysItem); foreach (Node item in nodeYP.ChildNodes) { DrawTextToAllNodes(item, nodeYP, sysItem); } } else if (node is ng.MyNodeCH) { ng.MyNodeCH nodeCH = node as ng.MyNodeCH; drawTextToOtherNode(node, parent, sysItem); DrawTextToAllNodes(nodeCH.ChildNode, nodeCH, sysItem); } else if (node is ng.MyNodeMultiCH) { ng.MyNodeMultiCH nodeMCH = node as ng.MyNodeMultiCH; drawTextToOtherNode(node, parent, sysItem); foreach (Node item in nodeMCH.ChildNodes) { DrawTextToAllNodes(item, nodeMCH, sysItem); } } else if (node is ng.MyNodeIn) { ng.MyNodeIn nodeIn = node as ng.MyNodeIn; drawTextToIDUNode(sysItem, nodeIn); } if (node is ng.MyNode) { ng.MyNode myNode = node as ng.MyNode; if (myNode != null && myNode.MyInLinks != null && myNode.MyInLinks.Count > 0) { for (int i = 0; i < myNode.MyInLinks.Count; i++) { ng.MyLink myLink = myNode.MyInLinks[i] as ng.MyLink; drawTextToLink(myLink, i, parent, node, isInch, sysItem); } } } }
private void DoPipingCalculation(PipingBLL pipBll, JCHVRF.Model.NextGen.MyNodeOut nodeOut, out PipingErrors errorType) { errorType = PipingErrors.OK; if (nodeOut.ChildNode == null) { return; } //分歧管型号和管径改为如果后面的大于前面的,则后面的替换为前面的型号和管径 by Shen Junjie on 20170409 //getSumCalculation(ref firstDstNode, factoryCode, type, unitType); pipBll.GetSumCapacity(nodeOut.ChildNode); pipBll.IsBranchKitNeedSizeUp(curSystemItem); PipingBranchKit firstBranchKit = null; if (nodeOut.ChildNode is JCHVRF.Model.NextGen.MyNodeYP) { JCHVRF.Model.NextGen.MyNodeYP nodeYP = nodeOut.ChildNode as JCHVRF.Model.NextGen.MyNodeYP; if (nodeYP.IsCP) { //第一分歧管可能是梳形管 20170711 by Yunxiao Lin firstBranchKit = pipBll.getFirstHeaderBranchPipeCalculation(nodeYP, curSystemItem, out errorType); } else { // 第一分歧管放大一号计算 firstBranchKit = pipBll.getFirstPipeCalculation(nodeYP, curSystemItem, out errorType); } if (errorType != PipingErrors.OK) { SetSystemPipingOK(curSystemItem, false); return; } } //分歧管型号和管径改为如果后面的大于前面的,则后面的替换为前面的型号和管径 by Shen Junjie on 20170409 pipBll.getSumCalculationInversion(firstBranchKit, nodeOut, nodeOut.ChildNode, curSystemItem, false, out errorType); if (errorType != PipingErrors.OK) { SetSystemPipingOK(curSystemItem, false); return; } pipBll.CheckIndoorNumberConnectedCHBox(nodeOut); }
private void DoPipingCalculation(NextGenBLL.PipingBLL pipBll, JCHVRF.Model.NextGen.MyNodeOut nodeOut, JCHVRF.Model.NextGen.SystemVRF currentSystem, out NextGenBLL.PipingErrors errorType) { errorType = NextGenBLL.PipingErrors.OK; if (nodeOut.ChildNode == null) { return; } pipBll.GetSumCapacity(nodeOut.ChildNode); pipBll.IsBranchKitNeedSizeUp(currentSystem); PipingBranchKit firstBranchKit = null; if (nodeOut.ChildNode is JCHVRF.Model.NextGen.MyNodeYP) { JCHVRF.Model.NextGen.MyNodeYP nodeYP = nodeOut.ChildNode as JCHVRF.Model.NextGen.MyNodeYP; if (nodeYP.IsCP) { firstBranchKit = pipBll.getFirstHeaderBranchPipeCalculation(nodeYP, currentSystem, out errorType); } else { firstBranchKit = pipBll.getFirstPipeCalculation(nodeYP, currentSystem, out errorType); } if (errorType != NextGenBLL.PipingErrors.OK) { SetSystemPipingOK(currentSystem, false); return; } } //bug 3489 var L2SizeDownRule = pipBll.GetL2SizeDownRule(currentSystem);//增大1st branch的管径型号 或者 缩小2nd branch的管径型号 add by Shen Junjie on 2018/2/21 //bug 3489 pipBll.getSumCalculationInversion(firstBranchKit, nodeOut, nodeOut.ChildNode, currentSystem, false, out errorType, L2SizeDownRule); if (errorType != NextGenBLL.PipingErrors.OK) { SetSystemPipingOK(currentSystem, false); return; } pipBll.CheckIndoorNumberConnectedCHBox(nodeOut); }
public void GetHeightDifferenceNodes(Lassalle.WPF.Flow.Node node, Lassalle.WPF.Flow.Node parent, JCHVRF.Model.NextGen.SystemVRF sysItem, List <JCHVRF.Model.NextGen.MyNode> list) { if (node is JCHVRF.Model.NextGen.MyNodeOut) { JCHVRF.Model.NextGen.MyNodeOut nodeOut = node as JCHVRF.Model.NextGen.MyNodeOut; GetHeightDifferenceNodes(nodeOut.ChildNode, nodeOut, sysItem, list); } else if (node is JCHVRF.Model.NextGen.MyNodeYP) { JCHVRF.Model.NextGen.MyNodeYP nodeYP = node as JCHVRF.Model.NextGen.MyNodeYP; foreach (Lassalle.WPF.Flow.Node item in nodeYP.ChildNodes) { GetHeightDifferenceNodes(item, nodeYP, sysItem, list); } } else if (node is JCHVRF.Model.NextGen.MyNodeCH) { JCHVRF.Model.NextGen.MyNodeCH nodeCH = node as JCHVRF.Model.NextGen.MyNodeCH; list.Add(nodeCH); GetHeightDifferenceNodes(nodeCH.ChildNode, nodeCH, sysItem, list); } else if (node is JCHVRF.Model.NextGen.MyNodeMultiCH) { JCHVRF.Model.NextGen.MyNodeMultiCH nodeMCH = node as JCHVRF.Model.NextGen.MyNodeMultiCH; list.Add(nodeMCH); foreach (Lassalle.WPF.Flow.Node item in nodeMCH.ChildNodes) { GetHeightDifferenceNodes(item, nodeMCH, sysItem, list); } } else if (node is JCHVRF.Model.NextGen.MyNodeIn) { //因为DoPipingCalculation之后可能影响indoor的管径, //所以绘制YP型号的时候顺便绘制indoor的管径 add on 20170512 by Shen Junjie JCHVRF.Model.NextGen.MyNodeIn nodeIn = node as JCHVRF.Model.NextGen.MyNodeIn; list.Add(nodeIn); } }
public WL.AddFlow DoDrawingPiping(bool reset, JCHVRF.Model.NextGen.SystemVRF CurrentSystem, WL.AddFlow AddFlowAutoPiping) { try { AddFlowAutoPiping.Clear(); if (CurrentSystem.MyPipingNodeOut.AddFlow != null) { AddFlowAutoPiping = CurrentSystem.MyPipingNodeOut.AddFlow; } NextGenBLL.UtilPiping utilPiping = new NextGenBLL.UtilPiping(); NextGenBLL.PipingBLL pipBll = GetPipingBLLInstance(); //pipBll.SaveAllPipingStructure(); //pipBll.CreatePipingNodeStructure(CurrentSystem); bool isHitachi = projectLegacy.BrandCode == "H"; bool isHR = NextGenBLL.PipingBLL.IsHeatRecovery(CurrentSystem); //string dir = GetBinDirectoryPath(ConfigurationManager.AppSettings["PipingNodeImageDirectory"].ToString()); //TO DO Pick VRF system in case of multi system string dir = GetImagePathPiping(); NextGenModel.MyNodeOut pipingNodeOut = CurrentSystem.MyPipingNodeOut; if (pipingNodeOut == null || CurrentSystem.OutdoorItem == null) { return(AddFlowAutoPiping); } if (pipingNodeOut.ChildNode == null) { return(AddFlowAutoPiping); } if (isHR) { //SetAllNodesIsCoolingonlyFrom(); pipBll.SetIsCoolingOnly(CurrentSystem.MyPipingNodeOut); } if (!reset) { utilPiping.ResetColors(); InitAndRemovePipingNodes(ref AddFlowAutoPiping); pipBll.DrawPipingNodes(CurrentSystem, dir, ref AddFlowAutoPiping); pipBll.DrawPipingLinks(CurrentSystem, ref AddFlowAutoPiping); pipBll.DrawLegendText(CurrentSystem, ref AddFlowAutoPiping); pipBll.LoadPipingPlottingScaleNode(CurrentSystem, ref AddFlowAutoPiping); CurrentSystem.MyPipingOrphanNodes = null; CurrentSystem.MyPipingOrphanNodesTemp = null; } if (reset) { CurrentSystem.IsManualPiping = false; utilPiping.ResetColors(); InitAndRemovePipingNodes(ref AddFlowAutoPiping); pipBll.DrawPipingNodes(CurrentSystem, dir, ref AddFlowAutoPiping); pipBll.DrawPipingLinks(CurrentSystem, ref AddFlowAutoPiping); pipBll.DrawLegendText(CurrentSystem, ref AddFlowAutoPiping); pipBll.LoadPipingPlottingScaleNode(CurrentSystem, ref AddFlowAutoPiping); CurrentSystem.MyPipingOrphanNodes = null; CurrentSystem.MyPipingOrphanNodesTemp = null; } else { if (CurrentSystem.IsManualPiping) { } else { utilPiping.ResetColors(); } pipBll.DrawPipingNodesNoCaculation(dir, CurrentSystem); } //added for internal Bug Find zero length Issue pipBll.DrawCorrectionFactorText(CurrentSystem); if (CurrentSystem.IsPipingOK) { if (CurrentSystem.IsInputLengthManually && CurrentSystem.IsPipingOK) { pipBll.DrawAddRefrigerationText(CurrentSystem); } pipBll.SetDefaultColor(ref AddFlowAutoPiping, isHR); } pipBll.drawPipelegend(isHR, ref AddFlowAutoPiping); } catch (Exception ex) { int?id = Project.GetProjectInstance?.projectID; Logger.LogProjectError(id, ex, false); } return(AddFlowAutoPiping); }
private void CopyPipingLengthRecursively(NextGenModel.MyNodeOut src, NextGenModel.MyNodeOut dest) { NextGenBLL.PipingBLL.CopyPipeLength(src, dest); }