Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        private static void ReSyncLocalData(SalesOrderDetailTableAdapter MainAdapter, int HeaderID, bool deletion)
        {
            int DetailReceived_rows = 0;
            int HeaderReceived_rows = 0;

            HeaderReceived_rows = MainAdapter.FillBySalesOrderID(DataADO.SalesOrderDetail, HeaderID);
            Console.WriteLine("Registros OrderHeader recibidos (resync): {0}", HeaderReceived_rows);

            using (SalesOrderHeaderTableAdapter SecondaryAdapter = new SalesOrderHeaderTableAdapter())
            {
                DetailReceived_rows = deletion ?
                                      SecondaryAdapter.Fill(DataADO.SalesOrderHeader) :
                                      SecondaryAdapter.FillBySalesOrderID(DataADO.SalesOrderHeader, HeaderID);
            }

            Console.WriteLine("Registros OrderHeader recibidos (resync): {0}", DetailReceived_rows);
        }
Пример #3
0
        private static void ADOShowOrderHeaders()
        {
            int    counter      = 0;
            string prompt_input = "";

            if (DataADO.SalesOrderHeader.Rows.Count == 0)
            {
                using (SalesOrderHeaderTableAdapter OrderHeadTabAdpt = new SalesOrderHeaderTableAdapter())
                {
                    OrderHeadTabAdpt.Fill(DataADO.SalesOrderHeader);
                }
            }

            foreach (ADOM9Dataset.SalesOrderHeaderRow OrderHeader in DataADO.SalesOrderHeader.Rows)
            {
                Console.WriteLine("ID: {0} " +
                                  "\n\t- Fecha de pedido:  {1} " +
                                  "\n\t- Núm pedido: {2} " +
                                  "\n\t- Núm cliente: {3} " +
                                  "\n\t- Importe total: {4} ",
                                  OrderHeader.SalesOrderID,
                                  OrderHeader.OrderDate,
                                  OrderHeader.IsNull("PurchaseOrderNumber") ? "----" : OrderHeader.PurchaseOrderNumber,
                                  OrderHeader.CustomerID,
                                  OrderHeader.TotalDue);
                counter++;

                if (counter % 10 == 0)
                {
                    Console.Write("Introduzca X para salir. Si quiere 10 elementos siguientes, pulse una tecla: ");
                    prompt_input = Console.ReadLine();

                    if (prompt_input.ToLower() == "x")
                    {
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
            }
        }
Пример #4
0
        private static int PickSalesOrderHeader()
        {
            int OrdID         = -1;
            int received_rows = 0;

            ADOM9Dataset.SalesOrderHeaderRow SelOrdHeader;

            do
            {
                Console.Write("Introduzca identificador de Order Header: ");
            } while (!int.TryParse(Console.ReadLine(), out OrdID));

            try
            {
                using (SalesOrderHeaderTableAdapter OrderHeaderTblAdpt = new SalesOrderHeaderTableAdapter())
                {
                    received_rows = OrderHeaderTblAdpt.FillBySalesOrderID(DataADO.SalesOrderHeader, OrdID);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("ERROR recuperando OrderHeader seleccionado. Detalles {0}", e.Message);
                OrdID = -1;
            }

            if (received_rows > 0)
            {
                SelOrdHeader = DataADO.SalesOrderHeader.FindBySalesOrderID(OrdID);

                Console.WriteLine("ID: {0} " +
                                  "\n\t- Fecha de pedido:  {1} " +
                                  "\n\t- Núm pedido: {2} " +
                                  "\n\t- Núm cliente: {3} " +
                                  "\n\t- Importe total: {4} ",
                                  SelOrdHeader.SalesOrderID,
                                  SelOrdHeader.OrderDate,
                                  SelOrdHeader.IsNull("PurchaseOrderNumber") ? "----" : SelOrdHeader.PurchaseOrderNumber,
                                  SelOrdHeader.CustomerID,
                                  SelOrdHeader.TotalDue);
            }

            return(OrdID);
        }