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()); }
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); }
public IProduct CreateProduct() { var firstCreator = new FirstCreator(); return(firstCreator.FactoryMethod()); }