Example #1
0
		static void Main(string[] args)
		{
			using (StreamReader streamReader = new StreamReader(args[0], Encoding.Default))
			{
				var reader = new SentencesReader(streamReader);
				var creator = new FirstCreator(reader.Sentences);
				creator.WriteResult(Console.Out);
			}
		}
        private static string GetBody(FirstCreator firstCreator)
        {
            var tableOfFirsts = firstCreator.TableOfFirsts;
            var resultBuilder = new StringBuilder();

            resultBuilder.Append("<body>\n");
            foreach (Sentence item in firstCreator.Sentences)
            {
                resultBuilder.Append("<p>");
                resultBuilder.Append(item.ToString().GetEscaped());
                resultBuilder.Append("</p>");
            }
            resultBuilder.Append("<table cellspacing=\"1\">\n");

            resultBuilder.Append("<tr>");
            resultBuilder.Append($"<th>[     ]</th>");
            foreach (var str in tableOfFirsts.Column)
            {
                resultBuilder.Append($"<th style=\"border:1px solid;\">{ str.GetEscaped() }</th>");
            }
            resultBuilder.Append("</tr>");

            resultBuilder.Append('\n');

            for (var i = 0; i < tableOfFirsts.Row.Count; ++i)
            {
                resultBuilder.Append("<tr>");
                resultBuilder.Append("<td style=\"border:1px solid;\">");
                foreach (var x in tableOfFirsts.Row[i].Values)
                {
                    resultBuilder.Append($"{ x.Value.GetEscaped() }<span style=\"font-size: 10px;\">{x.RowIndex},{x.ColIndex}</span> ");
                }
                resultBuilder.Append("</td>");
                foreach (var item in tableOfFirsts.Table[i])
                {
                    resultBuilder.Append("<td style=\"border:1px solid;\">");
                    if (item != null)
                    {
                        foreach (var token in item.Values)
                        {
                            resultBuilder.Append($"{ token.Value.GetEscaped() }<span style=\"font-size: 10px;\">{token.RowIndex},{token.ColIndex}</span> ");
                        }
                    }

                    resultBuilder.Append("</td>");
                }

                resultBuilder.Append("</tr>");
            }

            resultBuilder.Append("</table>\n");
            resultBuilder.Append("</body>\n");
            return(resultBuilder.ToString());
        }
Example #3
0
        public static void UseFactoryMethod()
        {
            var firstCreator = new FirstCreator();
            var product      = firstCreator.FactoryMethod();

            Console.WriteLine(product.GetType());

            var secondCreator  = new SecondCreator();
            var anotherProduct = secondCreator.FactoryMethod();

            Console.WriteLine(anotherProduct.GetType());
        }
        public static void Write(TextWriter writer, FirstCreator firstCreator)
        {
            var result = GetBeforeBody() + GetBody(firstCreator) + GetAfterBody();

            writer.Write(result);
        }
Example #5
0
        public IProduct CreateProduct()
        {
            var firstCreator = new FirstCreator();

            return(firstCreator.FactoryMethod());
        }