public void Init()
        {
            var workStepRepository = new MemoryWorkStepRepository();
            _workItemRepository = new MemoryWorkItemRepository();

            var workflowRepository = new WorkflowRepository(_workItemRepository, workStepRepository);
            _wp = new Workflow(workflowRepository);
            _xmlRenderer = new XmlRenderer(_wp);
        }
Esempio n. 2
0
        public void Init()
        {
            var workStepRepository = new MemoryWorkStepRepository();

            _workItemRepository = new MemoryWorkItemRepository();

            var workflowRepository = new WorkflowRepository(_workItemRepository, workStepRepository);

            _wp          = new Workflow(workflowRepository);
            _xmlRenderer = new XmlRenderer(_wp);
        }
Esempio n. 3
0
        public static XmlDocument RenderToXmlDocument(this XmlRenderer xmlRenderer, WorkStep workStep)
        {
            var doc = new XmlDocument();

            using (var writeStream = new MemoryStream())
            {
                xmlRenderer.Render(writeStream, workStep);

                var readStream = new MemoryStream(writeStream.ToArray());
                doc.Load(readStream);
            }
            return(doc);
        }
Esempio n. 4
0
        private string ConvertNodeToString(XmlNode node)
        {
            XmlNode newNode = node;

            if (!IsTextNode(node))
            {
                // convert the node into a document in order to avoid inheriting any namespaces
                // note, this should not remove inner namespaces in the content - may need to revisit
                // this may be very inefficient - better to just search and replace namespaces after converting to string?
                newNode = XmlRenderer.ObtainDocumentFromNode(node, true);
            }
            return(XmlRenderer.RenderNodeEscaped(newNode));
        }
        /// <summary>
        /// Retrieves an XML representation of the documentation specified by <paramref name="entry"/>.
        /// </summary>
        /// <param name="entry">The Entry to obtain documentation for.</param>
        /// <returns>An XmlDocument containing the documentation.</returns>
        private string GetDocumentationFor(Entry entry)
        {
            if (null == entry)
            {
                throw new ArgumentNullException("The provided Entry was null.");
            }

            string stringOutput = string.Empty;

            using (MemoryStream output = new MemoryStream())
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Encoding = Encoding.UTF8;

                using (XmlWriter writer = XmlWriter.Create(output, settings))
                {
                    XmlRenderer r = XmlRenderer.Create(entry, _baseDocument);
                    if (r == null)
                    {
                        return(null);    // simply return a null reference if we cant find the renderer for the entry
                    }

                    r.Render(writer);

                    writer.Flush();
                    writer.Close();

                    // get memory stream contents as a string
                    output.Seek(0, SeekOrigin.Begin);
                    StreamReader s = new StreamReader(output);
                    stringOutput = s.ReadToEnd();
                }
            }

            return(stringOutput);
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
#if _DEBUG
            args = "Common.Controllers.dll -t Controller".Split(' ');
            //args = "WebApi.Example.Controllers.ProductsController.xml -r xslt -x iodocuments.xslt -o json".Split(' ');
            //args = "WebApi.Example.Controllers.ProductsController.xml -r xslt -x apitester.xslt -o xml".Split(' ');
            //args = "Common.Controllers.dll -r ctorxml -t Controller".Split(' ');
#endif
            if (null == args || !args.Any())
            {
                DisplayUsage();
                return;
            }

            var options = ParseCommandLine(string.Join(" ", args));

            if (!options.Any() || !(options.ContainsKey("file") || options.ContainsKey("path")) ||
                (options.ContainsKey("file") && !Parser.IsFile(options["file"])) ||
                (options.ContainsKey("path") && !Parser.IsPath(options["path"])) ||
                (options["render"] == "xslt" &&
                 options.ContainsKey("xsltfile") && !Parser.IsFile(options["xsltfile"]))
                )
            {
                DisplayUsage();
                return;
            }

            IRenderable renderer = null;
            switch (options["render"])
            {
            case "text":
                renderer = new CustomRenderer(
                    options.ContainsKey("file") ? options["file"] : options["path"],
                    options.ContainsKey("includeflag")
                    );
                break;

            case "xslt":
                renderer = new XsltRenderer(
                    options["xsltfile"],
                    options.ContainsKey("outext") ? options["outext"] : "json",
                    options.ContainsKey("file") ? options["file"] : options["path"],
                    options.ContainsKey("includeflag")
                    );
                break;

            case "ctorxml":
                renderer = new XmlCtorRenderer(
                    options.ContainsKey("file") ? options["file"] : options["path"],
                    options.ContainsKey("includeflag")
                    );
                break;

            case "text2xml":
                renderer = new Text2XmlRenderer(options["file"]);
                break;

            default:
                renderer = new XmlRenderer(
                    options.ContainsKey("file") ? options["file"] : options["path"],
                    options.ContainsKey("includeflag")
                    );
                break;
            }

            var parser = new Parser(renderer);
            System.Console.WriteLine("Rendering as " + options["render"] + "..." + Environment.NewLine);
            System.Console.WriteLine(parser.Render(
                                         options.ContainsKey("types") ? options["types"].Split(',') : null,
                                         options.ContainsKey("methods") ? options["methods"].Split(','): null
                                         ));
        }
Esempio n. 7
0
 public static XmlDocument RenderToXmlDocument(this XmlRenderer xmlRenderer)
 {
     return(RenderToXmlDocument(xmlRenderer, WorkStep.Root));
 }
Esempio n. 8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.RequirePermission(Affinity.RolePermission.SubmitOrders);
        string id           = NoNull.GetString(Request["id"]);
        string keyAttribute = NoNull.GetString(Request["key"], "sp_id");
        string format       = NoNull.GetString(Request["format"], "hash");
        string exportformat = "PFT";

        if (!format.Equals("entire"))
        {
            Affinity.Request r = new Affinity.Request(this.phreezer);
            r.Load(id);

            // make sure this user has permission to make updates to this order
            if (!r.Order.CanRead(this.GetAccount()))
            {
                this.Crash(300, "Permission denied.");
            }

            IBaseRenderer renderer = null;

            // depending on the format requested, get the correct renderer object
            switch (format)
            {
            case "entire":
                break;

            case "xml":
                exportformat = "Generic XML";
                renderer     = new XmlRenderer(r, this.GetSystemSettings());
                break;

            case "rei":
                exportformat = "REI XML";
                renderer     = new XmlREIRenderer(r, this.GetSystemSettings());
                break;

            case "change":
                exportformat = "PFT (Changes Only)";
                renderer     = new PFTChangeRenderer(r, this.GetSystemSettings());
                break;

            case "TPS":
                exportformat = "TPS";
                renderer     = new TPSServicePFTRenderer(r, this.GetSystemSettings());
                break;

            //case "special":
            //	renderer = new XmlSpecialRenderer(r, this.GetSystemSettings());
            //	break;
            default:
                renderer = new PFTRenderer(r, this.GetSystemSettings());
                break;
            }

            Affinity.ExportLog exportlog = new Affinity.ExportLog(this.phreezer);
            Affinity.Account   account   = this.GetAccount();
            exportlog.AccountID    = account.Id;
            exportlog.OrderID      = r.OrderId;
            exportlog.RequestID    = r.Id;
            exportlog.ExportFormat = exportformat;
            exportlog.Insert();

            // output the results of the renderer
            OutputRenderer(renderer, keyAttribute);
        }
        else
        {
            Affinity.RequestTypes        rts = new Affinity.RequestTypes(this.phreezer);
            Affinity.RequestTypeCriteria rtc = new Affinity.RequestTypeCriteria();
            rtc.IsActive = 1;
            rts.Query(rtc);
            Object [] renderers = new Object[rts.Count];

            IEnumerator      i = rts.GetEnumerator();
            int              j = 0;
            bool             isClerkingServices = false;
            Affinity.Account account            = this.GetAccount();
            exportformat = "Entire Order";

            while (i.MoveNext())
            {
                Affinity.RequestType rt    = (Affinity.RequestType)i.Current;
                Affinity.Order       order = new Affinity.Order(this.phreezer);
                order.Load(id);

                Affinity.RequestCriteria rc = new Affinity.RequestCriteria();
                rc.RequestTypeCode = rt.Code;
                order.GetOrderRequests(rc);

                Affinity.Requests reqs = order.GetOrderRequests(rc);
                Affinity.Request  r    = null;

                if (reqs.Count > 0)
                {
                    r = (Affinity.Request)reqs[0];

                    if (rt.Code.Equals("ClerkingRequest"))
                    {
                        isClerkingServices = true;
                    }
                    IBaseRenderer renderer = new PFTRenderer(r, this.GetSystemSettings());

                    renderers[j] = renderer;

                    j++;
                }

                if (r != null)
                {
                    Affinity.ExportLog exportlog = new Affinity.ExportLog(this.phreezer);
                    exportlog.AccountID    = account.Id;
                    exportlog.OrderID      = r.OrderId;
                    exportlog.RequestID    = r.Id;
                    exportlog.ExportFormat = exportformat;
                    exportlog.Insert();
                }
            }

            OutputMultiRenderer(renderers, keyAttribute, isClerkingServices);
        }
    }