Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        /// <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());
        }
Ejemplo n.º 3
0
        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());
        }