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(); }
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 (); }
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."); }