コード例 #1
0
        void ReplaceText(Paragraph paragraph)
        {
            var parent    = paragraph.Parent; //get parent element - to be used when removing placeholder
            var dataParam = new WordParameter();

            if (ContainsParam(paragraph, ref dataParam)) //check if paragraph is on our parameter list
            {
                //insert text list
                if (dataParam.Name.Contains("string[]"))                                     //check if param is a list
                {
                    var arrayText = dataParam.Text.Split(Environment.NewLine.ToCharArray()); //in our case we split it into lines

                    if (arrayText is IEnumerable)                                            //enumerate if we can
                    {
                        foreach (var itemData in arrayText)
                        {
                            Paragraph bullet = CloneParaGraphWithStyles(paragraph, dataParam.Name, itemData); // create new param - preserve styles
                            parent.InsertBefore(bullet, paragraph);                                           //insert new element
                        }
                    }
                    paragraph.Remove();//delete placeholder
                }
                else
                {
                    //insert text line
                    var param = CloneParaGraphWithStyles(paragraph, dataParam.Name, dataParam.Text); // create new param - preserve styles
                    parent.InsertBefore(param, paragraph);                                           //insert new element

                    paragraph.Remove();                                                              //delete placeholder
                }
            }
        }
コード例 #2
0
        public bool ContainsParam(Paragraph paragraph, ref WordParameter dataParam)
        {
            foreach (var param in this.WordParameters)
            {
                if (!string.IsNullOrEmpty(param.Name) && paragraph.InnerText.ToLower().Contains(param.Name.ToLower()))
                {
                    dataParam = param;
                    return(true);
                }
            }

            return(false);
        }
コード例 #3
0
        public Node <INode> GetNode(string nodeName, IConstellationFileParser constellationFileParser)
        {
            switch (nodeName)
            {
            case ValueParameter.NAME:
                INode nodeValueAttribute = new ValueParameter() as INode;
                return(new Node <INode> (nodeValueAttribute));

            case WordParameter.NAME:
                INode nodeWordAttribute = new WordParameter() as INode;
                return(new Node <INode> (nodeWordAttribute));

            default:
                return(null);
            }
        }