Code to generate Procedure text for CPS Export
This commit is contained in:
parent
b695681aba
commit
e83a173039
91
PROMS/Volian.Print.Library/CPSGen.cs
Normal file
91
PROMS/Volian.Print.Library/CPSGen.cs
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Xml;
|
||||||
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
|
namespace Volian.Print.Library
|
||||||
|
{
|
||||||
|
public class CPSGen
|
||||||
|
{
|
||||||
|
private vlnParagraph _MyVlnParagraph;
|
||||||
|
public vlnParagraph MyVlnParagraph
|
||||||
|
{
|
||||||
|
get { return _MyVlnParagraph; }
|
||||||
|
set { _MyVlnParagraph = value; }
|
||||||
|
}
|
||||||
|
public CPSGen(vlnParagraph myParagraph)
|
||||||
|
{
|
||||||
|
_MyVlnParagraph = myParagraph;
|
||||||
|
}
|
||||||
|
public void Generate(string fileName)
|
||||||
|
{
|
||||||
|
XmlDocument xd = new XmlDocument();
|
||||||
|
XmlElement parent = xd.AppendChild(xd.CreateElement("Items")) as XmlElement;
|
||||||
|
Generate(0, 0,parent, MyVlnParagraph);
|
||||||
|
xd.Save(fileName);
|
||||||
|
}
|
||||||
|
public void Generate(int level,int fromType,XmlElement parent, vlnParagraph para)
|
||||||
|
{
|
||||||
|
ItemInfo itm = para.MyItemInfo;
|
||||||
|
XmlElement xe = parent.AppendChild(parent.OwnerDocument.CreateElement("Item")) as XmlElement;
|
||||||
|
AddAttribute(xe, "Level", level);
|
||||||
|
AddAttribute(xe, "FromType", fromType);
|
||||||
|
AddAttribute(xe, "Ordinal", itm.Ordinal);
|
||||||
|
AddAttribute(xe, "ParentID", (itm.ActiveParent as ItemInfo).ItemID);
|
||||||
|
//AddAttribute(xe, "Xoffset", para.XOffset);
|
||||||
|
AddAttribute(xe, "ItemID", itm.ItemID);
|
||||||
|
AddAttribute(xe, "PreviousID", itm.PreviousID);
|
||||||
|
AddAttribute(xe, "ContentID", itm.ContentID);
|
||||||
|
AddAttribute(xe, "DTS", itm.MyContent.DTS);
|
||||||
|
AddAttribute(xe, "UserID", itm.MyContent.UserID);
|
||||||
|
AddAttribute(xe, "Number", itm.MyContent.Number);
|
||||||
|
AddAttribute(xe, "Text", itm.MyContent.Text);
|
||||||
|
AddAttribute(xe, "Type", itm.MyContent.Type);
|
||||||
|
AddAttribute(xe, "FormatID", itm.MyContent.FormatID);
|
||||||
|
AddAttribute(xe, "Config", itm.MyContent.Config);
|
||||||
|
AddAttribute(xe, "Rtf", para.Rtf);
|
||||||
|
//AddParts(xe, "PartsAbove", para.PartsAbove);
|
||||||
|
//AddParts(xe, "PartsLeft", para.PartsLeft);
|
||||||
|
//AddParts(xe, "PartsRight", para.PartsRight);
|
||||||
|
//AddParts(xe, "PartsBelow", para.PartsBelow);
|
||||||
|
AddChildren(level,0, parent, "ChildrenAbove", para.ChildrenAbove);
|
||||||
|
AddChildren(level,0, parent, "ChildrenLeft", para.ChildrenLeft);
|
||||||
|
AddChildren(level,0, parent, "ChildrenRight", para.ChildrenRight);
|
||||||
|
AddChildren(level,0, parent, "ChildrenBelow", para.ChildrenBelow);
|
||||||
|
}
|
||||||
|
private void AddChildren(int level, int fromType, XmlElement parent, string name, vlnParagraphs children)
|
||||||
|
{
|
||||||
|
if (children == null || children.Count == 0) return;
|
||||||
|
//XmlElement xchildren = xe.OwnerDocument.AppendChild(xe.OwnerDocument.CreateElement(name)) as XmlElement;
|
||||||
|
foreach(vlnParagraph child in children)
|
||||||
|
{
|
||||||
|
//XmlElement xechild = xe.ParentNode.AppendChild(xe.OwnerDocument.CreateElement("Item")) as XmlElement;
|
||||||
|
Generate(level+1,0,parent,child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//private void AddParts(XmlElement xe, string name, vlnPrintObjects parts)
|
||||||
|
//{
|
||||||
|
// if (parts == null || parts.Count == 0) return;
|
||||||
|
// XmlElement xpart = xe.AppendChild(xe.OwnerDocument.CreateElement(name)) as XmlElement;
|
||||||
|
// foreach (vlnPrintObject part in parts)
|
||||||
|
// {
|
||||||
|
// XmlElement xechild = xpart.AppendChild(xe.OwnerDocument.CreateElement(part.GetType().Name)) as XmlElement;
|
||||||
|
// Generate(xechild, part);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//private void Generate(XmlElement xe, vlnPrintObject part)
|
||||||
|
//{
|
||||||
|
// AddAttribute(xe, "Xoffset", part.XOffset);
|
||||||
|
// AddAttribute(xe, "Width", part.Width);
|
||||||
|
// AddAttribute(xe, "Rtf", part.Rtf);
|
||||||
|
//}
|
||||||
|
private void AddAttribute(XmlElement xe, string attr, object val)
|
||||||
|
{
|
||||||
|
if (val == null) return;
|
||||||
|
XmlAttribute xa = xe.OwnerDocument.CreateAttribute(attr);
|
||||||
|
xa.Value = val.ToString();
|
||||||
|
xe.Attributes.Append(xa);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user