Example #1
0
        public void syncPendingListNumberToServer()
        {
            LotteryListRepository  listRepo            = new LotteryListRepository();
            List <LTL_LotteryList> pendingTransactions = listRepo.getPosPendingTransactions();

            Console.WriteLine("Transacciones a Sincronizar: " + pendingTransactions.Count);
            foreach (LTL_LotteryList item in pendingTransactions)
            {
                Console.Write(item.LTL_Id);
                switch (item.LLS_LotteryListStatus)
                {
                case SystemConstants.LIST_STATUS_CREATED:
                    // Procesar creación de la lista en el servidor
                    Console.WriteLine(" - Creada ");
                    List <LND_ListNumberDetail> listNumber = listRepo.getListDetail(item.LTL_Id);
                    this.sendListNumberToServer(item, listNumber);
                    break;

                case SystemConstants.LIST_STATUS_CANCELED:
                    // Procesar reversión de la lista en el servidor
                    Console.WriteLine(" - Anulada ");
                    this.reverseListNumberFromServer(item);
                    break;

                default:
                    break;
                }
            }
        }
Example #2
0
        //----------------- Servicios Asíncronos de Pendientes de Pago y Reversión -----------------//
        #region Servicios Asíncronos de Pendientes de Pago y Reversión

        public async Task <bool> syncPendingListNumberToServerAsync(DateTime?pDrawDate = null, long pDrawType = 0)
        {
            bool successProcess                        = true;
            LotteryListRepository  listRepo            = new LotteryListRepository();
            List <LTL_LotteryList> pendingTransactions = new List <LTL_LotteryList>();

            if (pDrawDate == null && pDrawType == 0)
            {
                pendingTransactions = listRepo.getPosPendingTransactions();
            }
            else
            {
                ListService listService = new ListService();
                if (pDrawType == 0)
                {
                    pendingTransactions = listService.getPosPendingTransactionsByDate(pDrawDate);
                }
                else
                {
                    pendingTransactions = listService.getPosPendingTransactionsByDateAndType(pDrawDate, pDrawType);
                }
                Console.WriteLine("Fecha: " + pDrawDate);
            }
            Console.WriteLine("Transacciones a Sincronizar: " + pendingTransactions.Count);
            foreach (LTL_LotteryList item in pendingTransactions)
            {
                Console.Write(item.LTL_Id);
                switch (item.LLS_LotteryListStatus)
                {
                case SystemConstants.LIST_STATUS_CREATED:
                    // Procesar creación de la lista en el servidor
                    List <LND_ListNumberDetail> listNumber = listRepo.getListDetail(item.LTL_Id);
                    bool successSale = await this.processListToServerAsync(item, listNumber);

                    // Si hay fallos en el registro de la venta, reportar sincronización como fallida
                    if (!successSale)
                    {
                        successProcess = false;
                    }
                    break;

                case SystemConstants.LIST_STATUS_CANCELED:
                    // Procesar reversión de la lista en el servidor
                    bool successReversion = await this.processReverseToServerAsync(item);

                    // Si hay fallos en la reversión, reportar sincronización como fallida
                    if (!successReversion)
                    {
                        // TODO: Es necesario validar reversiones fallidas
                        //successProcess = false;
                    }
                    break;

                default:
                    break;
                }
            }
            return(successProcess);
        }