Example #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();
        }
Example #2
0
File: Client.cs Project: 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 ();
        }
Example #3
0
        void GetRowsRequestMessageReceived(ObjectBusMessage obj)
        {
            Console.WriteLine ("GetRowsRequestMessageReceived()");
            GetRowsRequestMessage request = (GetRowsRequestMessage)obj;
            GetRowsResponseMessage response;
            Table table;
            lock (tables)
                table = (Table)psc.GetTableByID (request.TableID);
            Console.WriteLine (table.Name);
            try {

                SqlConnection conn_Rows = new SqlConnection (connectionString);
                try {
                    conn_Rows.Open ();
                } catch {                    //retry once
                    conn_Rows.Open ();
                }

                SqlCommand cmdSelect = new SqlCommand (string.Format ("Select * from [{0}]", table.Name), conn_Rows);
                cmdSelect.CommandTimeout *= 30;
                response = new GetRowsResponseMessage (request.ID, readRowsData (conn_Rows, cmdSelect, cmdSelect.ExecuteReader (), table), null);
            } catch (Exception ex) {
                response = new GetRowsResponseMessage (request.ID, new List<BD2.Conv.Frontend.Table.Row> (), ex);
            }
            ObjectBusSession.SendMessage (response);
            Console.WriteLine ("Sent GetRowsResponseMessage.");
        }