private static void SendSalesOrderHeader(ADOM9Dataset.SalesOrderHeaderRow Row) { int send_rows = 0; //Calculamos porque una vez lancemos update perdemos visibilidad del cambio bool deletion = Row.RowState == DataRowState.Deleted; //Ambito de using grande por si debemos usar adaptador en concurrency exception using (SalesOrderHeaderTableAdapter OrderHeadTabAdpt = new SalesOrderHeaderTableAdapter()) { try { send_rows = OrderHeadTabAdpt.Update(Row); Console.WriteLine("Registros OrderHeader enviados: {0}", send_rows); ReSyncLocalData(OrderHeadTabAdpt, Row.SalesOrderID, deletion); } catch (DBConcurrencyException e) { Console.WriteLine("ERROR de concurrencia. Detalle: {0}", e.Message); Console.WriteLine("Marque X si desea resincronizar con BD: "); if (Console.ReadLine().ToLower() == "x") { ReSyncLocalData(OrderHeadTabAdpt, Row.SalesOrderID, deletion); } ; } catch (Exception e) { Console.WriteLine("ERROR desconocido. Detalle: {0}", e.Message); } } }
private static void ADOShowFullOrderHeader(int OrdHeaderID) { ADOM9Dataset.SalesOrderHeaderRow Row = DataADO.SalesOrderHeader.FindBySalesOrderID(OrdHeaderID); Console.WriteLine("Información completa de la cabecera escogida:"); foreach (System.Data.DataColumn item in Row.Table.Columns) { Console.WriteLine("\t- {0}: {1} ", item.ColumnName, Row[item.ColumnName]); } Console.WriteLine(); }