示例#1
0
        void GetRowsResponseMessageHandler(GetRowsResponseMessage message)
        {
            Console.WriteLine("GetRowsResponseMessageReceived()");
            GetRowsResponseMessage GRRM = (GetRowsResponseMessage)message;
            Table table = tableDataRequests [GRRM.RequestID];

            BD2.Frontend.Table.Model.Table frontendTable = frontendInstance.GetTable(table.Name);
            frontendInstance.Flush();
            List <BD2.Frontend.Table.Model.Column> fcs = new List <BD2.Frontend.Table.Model.Column> ();

            Console.WriteLine("Table: {0}", table.Name);
            Console.WriteLine("Enumerating columns...");
            if (!tableColumns.ContainsKey(table))
            {
                Console.WriteLine("tableColumns doesn't have the key");
            }
            Console.WriteLine("Column Count: {0}", tableColumns [table].Count);

            foreach (Column c in tableColumns[table])
            {
                BD2.Frontend.Table.Model.Column frontendColumn = frontendInstance.GetColumn(c.Name, System.Type.GetType(c.TFQN), !c.Mandatory, c.Size);
                int cc = fcs.Count;
                fcs.Add(frontendColumn);
                if (fcs.Count == cc)
                {
                    throw new Exception("FATAL column ID collision detected");
                }
                //TODO:Avoid creating duplicates,create columnsets for each table, Associate columnSets and tables, Add data to tables
            }
            frontendInstance.Flush();
            int rc = 0;

            BD2.Frontend.Table.Column[] cols = new BD2.Frontend.Table.Column[fcs.Count];
            fcs.CopyTo(cols);
            BD2.Frontend.Table.Model.ColumnSet columnSet = frontendInstance.GetColumnSet(cols);
            frontendInstance.Flush();
            foreach (BD2.Conv.Frontend.Table.Row r in message.Rows)
            {
                frontendInstance.CreateRow(frontendTable, columnSet, new byte[][] { }, r.Fields);
                rc++;
            }
            Console.WriteLine(rc);
            frontendInstance.Flush();
            AREGetRows.Set();
        }
示例#2
0
文件: Client.cs 项目: vebin/BD2
        void GetRowsResponseMessageHandler(GetRowsResponseMessage message)
        {
            Console.WriteLine ("GetRowsResponseMessageReceived()");
            GetRowsResponseMessage GRRM = (GetRowsResponseMessage)message;
            Table table = tableDataRequests [GRRM.RequestID];
            BD2.Frontend.Table.Model.Table frontendTable = frontendInstance.GetTable (table.Name);
            frontendInstance.Flush ();
            List<BD2.Frontend.Table.Model.Column> fcs = new List<BD2.Frontend.Table.Model.Column> ();
            Console.WriteLine ("Table: {0}", table.Name);
            Console.WriteLine ("Enumerating columns...");
            if (!tableColumns.ContainsKey (table)) {
                Console.WriteLine ("tableColumns doesn't have the key");
            }
            Console.WriteLine ("Column Count: {0}", tableColumns [table].Count);

            foreach (Column c in tableColumns[table]) {
                BD2.Frontend.Table.Model.Column frontendColumn = frontendInstance.GetColumn (c.Name, System.Type.GetType (c.TFQN), !c.Mandatory, c.Size);
                int cc = fcs.Count;
                fcs.Add (frontendColumn);
                if (fcs.Count == cc)
                    throw new Exception ("FATAL column ID collision detected");
                //TODO:Avoid creating duplicates,create columnsets for each table, Associate columnSets and tables, Add data to tables
            }
            frontendInstance.Flush ();
            int rc = 0;
            BD2.Frontend.Table.Column[] cols = new BD2.Frontend.Table.Column[fcs.Count];
            fcs.CopyTo (cols);
            BD2.Frontend.Table.Model.ColumnSet columnSet = frontendInstance.GetColumnSet (cols);
            frontendInstance.Flush ();
            foreach (BD2.Conv.Frontend.Table.Row r in message.Rows) {
                frontendInstance.CreateRow (frontendTable, columnSet, new byte[][] { }, r.Fields);
                rc++;
            }
            Console.WriteLine (rc);
            frontendInstance.Flush ();
            AREGetRows.Set ();
        }