Exemple #1
0
        public static string getPendingTransactions(DateTime pDate, long pGroup)
        {
            LotteryListRepository lotteryListRepository = new LotteryListRepository();

            //return lotteryListRepository.getPosTotalListString(pDate, pGroup);
            return(lotteryListRepository.getPosPendingTransactionsListString(pDate, pGroup));
        }
Exemple #2
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;
                }
            }
        }
Exemple #3
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);
        }
Exemple #4
0
        private void copyList(long pListId)
        {
            CopyListForm copyListForm = new CopyListForm(this.appMediator, this, pListId);

            this.Hide();
            copyListForm.ShowDialog(this);
            LotteryListRepository listRepository = new LotteryListRepository();
            // UtilityService.printList(listRepository.getById(pListId));
        }
Exemple #5
0
        public void changeListSyncStatus(long pList, long pSyncStatus = SystemConstants.SYNC_STATUS_COMPLETED)
        {
            // Cambiar el estado de la lista local a Sincronizado
            LotteryListRepository listRepository = new LotteryListRepository();
            LTL_LotteryList       syncList       = listRepository.getById(pList);

            syncList.SYS_SynchronyStatus = pSyncStatus;
            listRepository.save(syncList, syncList.LTL_Id, (e1, e2) => e1.copy(e2));
            //Console.WriteLine("Estado cambiado a sincronizado: " + pList);
        }
Exemple #6
0
        // Método para imprimir la lista de los números premiados y ganadores
        public void printPrizeTicket(LTD_LotteryDraw pDraw, string[] pWinningNumberArray, bool pSendToPrint, bool pShowInPanel)
        {
            // Configurar impresión para Ticket de Venta
            TicketPrinter ticketPrinter = new TicketPrinter();
            PrizeTicket   prizeTicket   = new PrizeTicket();

            prizeTicket.companyName = UtilityService.getCompanyName();
            prizeTicket.title       = "NÚMEROS PREMIADOS";
            // Obtener datos del punto de venta
            LPS_LotteryPointSale pointSale = UtilityService.getPointSale();

            prizeTicket.pointSaleName = pointSale.LPS_DisplayName;
            prizeTicket.drawDate      = pDraw.LTD_CreateDate;
            // Obtener datos de tipo de sorteo
            LotteryDrawTypeRepository drawTypeRepo = new LotteryDrawTypeRepository();
            LDT_LotteryDrawType       drawType     = drawTypeRepo.getById(pDraw.LDT_LotteryDrawType);

            prizeTicket.drawTypeCode = drawType.LDT_Code;
            // Llenar datos del número de lista
            prizeTicket.createDate = DateTime.Now;
            // Obtener datos de los premios
            PrizeFactorService     prizeFactorService = new PrizeFactorService();
            LPF_LotteryPrizeFactor prizeFactor        = prizeFactorService.getByGroup(drawType.LDT_Id);

            if (prizeFactor != null)
            {
                prizeTicket.prizeFactorArray[0] = prizeFactor.LPF_FirtsPrizeFactor;
                prizeTicket.prizeFactorArray[1] = prizeFactor.LPF_SecondPrizeFactor;
                prizeTicket.prizeFactorArray[2] = prizeFactor.LPF_ThirdPrizeFactor;
            }
            // Obtener listado de información de ganadores
            LotteryListRepository listRepository = new LotteryListRepository();

            prizeTicket.listWinningInfo = listRepository.getWinningNumbersList(pDraw, pWinningNumberArray);
            prizeTicket.winnerNumbers   = pWinningNumberArray;
            ticketPrinter.prizeTicket   = prizeTicket;
            // Obtener nombre de impresora y enviar impresión
            string printerName = UtilityService.getTicketPrinterName();

            ticketPrinter.printPrizeTicket(printerName, pSendToPrint);
            // Almacenar importe de premio para el sorteo
            DrawBalanceService drawBalanceService = new DrawBalanceService();

            drawBalanceService.saveBalance(pDraw.LDT_LotteryDrawType, pDraw.LTD_CreateDate, 0, ticketPrinter.prizeImport);
            if (pShowInPanel)
            {
                //Console.Write(ticketPrinter.ticketStringText);
                MessageBox.Show(ticketPrinter.ticketStringText);
            }
        }
Exemple #7
0
        // Método para imprimir un ticket de venta de una lista
        public void printList(LTL_LotteryList pNumberList, int pTicketType = 0)
        {
            // Configurar impresión para Ticket de Venta
            SaleTicket saleTicket = new SaleTicket(pTicketType);

            saleTicket.companyName = UtilityService.getCompanyName();
            // Obtener datos del punto de venta
            LPS_LotteryPointSale pointSale = UtilityService.getPointSale();

            saleTicket.pointSaleName = pointSale.LPS_DisplayName;
            // Obtener usuario vendedor
            saleTicket.userName = SystemSession.username;
            // Obtener datos del sorteo
            LotteryDrawRepository drawRepo   = new LotteryDrawRepository();
            LTD_LotteryDraw       drawObject = drawRepo.getById(pNumberList.LTD_LotteryDraw);

            saleTicket.drawDate = drawObject.LTD_CreateDate;
            // Obtener datos de tipo de sorteo
            this.drawTypeRepo = new LotteryDrawTypeRepository();
            LDT_LotteryDrawType drawType = drawTypeRepo.getById(drawObject.LDT_LotteryDrawType);

            saleTicket.drawTypeCode = drawType.LDT_Code;
            // Obtener datos de los premios
            PrizeFactorService     prizeFactorService = new PrizeFactorService();
            LPF_LotteryPrizeFactor prizeFactor        = prizeFactorService.getByGroup(drawType.LDT_Id);

            if (prizeFactor != null)
            {
                saleTicket.prizeFactorArray[0] = prizeFactor.LPF_FirtsPrizeFactor;
                saleTicket.prizeFactorArray[1] = prizeFactor.LPF_SecondPrizeFactor;
                saleTicket.prizeFactorArray[2] = prizeFactor.LPF_ThirdPrizeFactor;
            }
            // Llenar datos del número de lista
            saleTicket.createDate   = DateTime.Now;
            saleTicket.ticketId     = pNumberList.LTL_Id;
            saleTicket.globalId     = pointSale.LPS_Id + "" + saleTicket.ticketId;
            saleTicket.customerName = pNumberList.LTL_CustomerName;
            // Obtener detalle de la lista procesada
            this.listRepo = new LotteryListRepository();
            saleTicket.listNumberDetail = listRepo.getTupleListDetail(pNumberList.LTL_Id);
            // Crear instancia de impresora y asignar el ticket
            TicketPrinter ticketPrinter = new TicketPrinter();

            ticketPrinter.saleTicket = saleTicket;
            // Obtener nombre de impresora y enviar impresión
            string printerName = UtilityService.getTicketPrinterName();

            ticketPrinter.printLotterySaleTicket(printerName);
        }
Exemple #8
0
        public void fillTable()
        {
            LotteryListRepository lotteryListRepository = new LotteryListRepository();
            List <ListData>       listData = lotteryListRepository.getListCollection(this.drawDate, this.drawType);

            if (listData.Count == 0)
            {
                MessageBox.Show("No existen registros para los parámetros especificados");
            }
            else
            {
                foreach (var item in listData)
                {
                    this.listSelectorGrid.Rows.Add(item.id, item.date, item.global, item.name);
                }
            }
        }
Exemple #9
0
 public ListService()
 {
     this.drawRepository = new LotteryDrawRepository();
     this.listRepository = new LotteryListRepository();
 }
Exemple #10
0
        private void printList(long pListId)
        {
            LotteryListRepository listRepository = new LotteryListRepository();

            this.ticketPrintService.printList(listRepository.getById(pListId), this.getTicketType());
        }
Exemple #11
0
 public TicketPrintService()
 {
     LotteryListRepository     listRepo     = new LotteryListRepository();
     LotteryDrawTypeRepository drawTypeRepo = new LotteryDrawTypeRepository();
 }