static void Main(string[] args) { var user = new Customer("Igor", StatementFactory.GetStatement()); user.Rentals.Add(new Rental(new Movie("Edge of Tomorrow", new NewRelease()), 5)); user.Rentals.Add(new Rental(new Movie("Gravity", new Regular()), 7)); user.Rentals.Add(new Rental(new Movie("HOW TO TRAIN YOUR DRAGON 2", new Childrens()), 3)); user.RequestAndSetDataStore(); const string path = "userSerialize"; var serializeData = user.CurrentDataStore; user.StatementGenerator.Serialize(path, user.CurrentDataStore); var deserializeData = user.StatementGenerator.Deserialize(path); if (serializeData.Equals(deserializeData)) { Console.Write("eqels"); } else { Console.Write("Noooooooooooooooooooo"); } Console.ReadLine(); }
/// <summary> /// メソッド内処理を取得 /// </summary> /// <param name="statements">BlockSyntaxインスタンス</param> /// <param name="index">インデックス数(半角スペース数)</param> /// <param name="parentLocalDeclarationStatements">親GetMethodTextのローカル変数リスト</param> /// <returns>TypeScriptに変換した文字列</returns> public string GetMethodText(SyntaxList <StatementSyntax> statements, int index = 0, List <string> parentLocalDeclarationStatements = null) { // 宣言されたローカル変数 var localDeclarationStatements = new List <string>(); if (parentLocalDeclarationStatements != null) { localDeclarationStatements.AddRange(parentLocalDeclarationStatements); } // ローカル変数に予約語を追加する localDeclarationStatements.Add(nameof(String)); localDeclarationStatements.Add(nameof(Decimal)); localDeclarationStatements.Add(nameof(Boolean)); localDeclarationStatements.Add(nameof(Int16)); localDeclarationStatements.Add(nameof(Int32)); localDeclarationStatements.Add(nameof(Int64)); localDeclarationStatements.Add(nameof(Single)); localDeclarationStatements.Add(nameof(Double)); localDeclarationStatements.Add(nameof(DateTime)); // 処理単位の文字列を取得 var spaceIndex = GetSpace(index); var result = new StringBuilder(); foreach (var statement in statements) { try { // コメント出力 var comments = statement.GetLeadingTrivia().Where(trivia => trivia.Kind() != SyntaxKind.WhitespaceTrivia); foreach (var comment in comments) { if (comment.IsKind(SyntaxKind.SingleLineCommentTrivia)) { result.Append(spaceIndex); } result.Append($"{comment}"); } // TypeScript変換 var statementInstance = StatementFactory.GetStatement(this, (dynamic)statement); result.Append(statementInstance.ConvertStatement(index, localDeclarationStatements)); } catch (Exception ex) { Console.WriteLine($"[{ex.Message}]"); Console.WriteLine(statement.ToString()); Console.WriteLine($".............Type[{statement.GetType().Name}]"); Console.WriteLine("------------------------------------------------"); } } return(result.ToString()); }
public List <T> Fetch <T>(Cql cql) { // Get the statement to execute and execute it _cqlGenerator.AddSelect <T>(cql); Statement statement = _statementFactory.GetStatement(cql); RowSet rows = _session.Execute(statement); // Map to return type Func <Row, T> mapper = _mapperFactory.GetMapper <T>(cql.Statement, rows); return(rows.Select(mapper).ToList()); }