コード例 #1
0
ファイル: SynchronizeService.cs プロジェクト: melfallas/SILO
        public bool syncDraw_ServerToLocal()
        {
            bool successProcess = true;
            long posId          = ParameterService.getSalePointId();

            // Realizar sincronización solamente si la sucursal está asignada
            if (posId != 0)
            {
                // Realizar la petición http
                ServerConnectionService connection     = new ServerConnectionService();
                ServiceResponseResult   responseResult = connection.getReopenDrawList(posId);
                successProcess = this.isValidResponse(responseResult);
                if (successProcess)
                {
                    string jsonStringResult = responseResult.result.ToString();
                    // Obtener array de los id de sorteos reabiertos para la sucursal
                    JArray jsonArray = JArray.Parse(jsonStringResult);
                    // Realizar la persistencia de los sorteos reabiertos
                    LotteryDrawRepository drawRepo = new LotteryDrawRepository();
                    foreach (var drawId in jsonArray)
                    {
                        LTD_LotteryDraw draw = drawRepo.getById((long)drawId);
                        if (draw != null)
                        {
                            draw.LDS_LotteryDrawStatus = SystemConstants.DRAW_STATUS_REOPENED;
                            drawRepo.save(ref draw);
                            // Cambiar todos los registros de QR a pendiente
                            ListService listService = new ListService();
                            listService.changeListStatusFromQRUpdated(draw, SystemConstants.SYNC_STATUS_PENDING_TO_SERVER);
                        }
                    }
                }
            }
            return(successProcess);
        }
コード例 #2
0
        public object generateNewListToSync(LTL_LotteryList pListObject, List <LND_ListNumberDetail> pListNumberDetail = null)
        {
            List <ListNumberDetail> numberDetail = null;

            if (pListNumberDetail != null)
            {
                // Trasnformar LND_ListNumberDetail en una lista de elementos para el json
                numberDetail = pListNumberDetail.Select(
                    x => new ListNumberDetail(x.LND_Id, x.LTL_LotteryList, x.LNR_LotteryNumber, x.LND_SaleImport)
                    ).ToList();
            }
            LotteryDrawRepository lotteryDrawRepository = new LotteryDrawRepository();
            LTD_LotteryDraw       draw = lotteryDrawRepository.getById(pListObject.LTD_LotteryDraw);
            // Crear el objeto JSON
            var jsonObject = new
            {
                listNumber       = pListObject.LTL_Id,
                lotteryPointSale = pListObject.LPS_LotteryPointSale,
                lotteryDraw      = new
                {
                    id = pListObject.LTD_LotteryDraw,
                    lotteryDrawType   = draw.LDT_LotteryDrawType,
                    lotteryDrawStatus = draw.LDS_LotteryDrawStatus,
                    createDate        = draw.LTD_CreateDate
                },
                customerName      = pListObject.LTL_CustomerName,
                createDate        = pListObject.LTL_CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
                lotteryListStatus = SystemConstants.LIST_STATUS_CREATED,
                listNumberDetail  = numberDetail
            }
            ;

            return(jsonObject);
        }
コード例 #3
0
        private void saveButton_Click(object sender, EventArgs e)
        {
            long groupId = Convert.ToInt64(this.drawTypeBox.SelectedValue);

            if (groupId == 0)
            {
                MessageBox.Show("Debe elegir un grupo válido");
            }
            else
            {
                if (this.txbFirst.Text.Trim() == "")
                {
                    MessageBox.Show("Debe ingresar al menos el primer número ganador");
                    this.txbFirst.Focus();
                }
                else
                {
                    LTD_LotteryDraw selectedDraw = new LTD_LotteryDraw();
                    selectedDraw.LDT_LotteryDrawType = Convert.ToInt64(this.drawTypeBox.SelectedValue);
                    selectedDraw.LTD_CreateDate      = this.datePickerList.Value.Date;
                    LotteryDrawRepository lotteryDrawRepository = new LotteryDrawRepository();
                    selectedDraw = lotteryDrawRepository.getDrawRegister(selectedDraw);
                    // Validar si existe el sorteo seleccionado
                    if (selectedDraw == null)
                    {
                        MessageBox.Show("El sorteo seleccionado no existe y no puede ser ingresado");
                    }
                    else
                    {
                        // Crear y completar nuevo registro de números ganadores
                        DNW_DrawNumberWinning drawNumberWinning = new DNW_DrawNumberWinning();
                        drawNumberWinning.LTD_LotteryDraw     = selectedDraw.LTD_Id;
                        drawNumberWinning.DNW_FirtsNumber     = this.txbFirst.Text;
                        drawNumberWinning.DNW_SecondNumber    = this.txbSecond.Text;
                        drawNumberWinning.DNW_ThirdNumber     = this.txbThird.Text;
                        drawNumberWinning.DNW_CreateDate      = DateTime.Now;
                        drawNumberWinning.SYS_SynchronyStatus = SystemConstants.SYNC_STATUS_PENDING_TO_SERVER;
                        DrawNumberWinningRepository drawNumberWinningRepository = new DrawNumberWinningRepository();
                        drawNumberWinningRepository.save(ref drawNumberWinning);
                        // Imprimir tiquete de premios / ganadores
                        string[] winningNumberArray = new string[3];
                        winningNumberArray[0] = this.txbFirst.Text.Trim() == "" ? GeneralConstants.EMPTY_STRING : UtilityService.fillString(this.txbFirst.Text, 2, "0");
                        winningNumberArray[1] = this.txbSecond.Text.Trim() == "" ? GeneralConstants.EMPTY_STRING : UtilityService.fillString(this.txbSecond.Text, 2, "0");
                        winningNumberArray[2] = this.txbThird.Text.Trim() == "" ? GeneralConstants.EMPTY_STRING : UtilityService.fillString(this.txbThird.Text, 2, "0");
                        bool sendToPrint = this.ckbPrint.Checked ? true : false;
                        bool showInPanel = this.ckbPrintScreen.Checked ? true : false;
                        this.ticketPrintService.printPrizeTicket(selectedDraw, winningNumberArray, sendToPrint, showInPanel);
                        // Sincronizar con el servidor central
                        if (UtilityService.realTimeSyncEnabled())
                        {
                            this.syncWinnerNumbers(selectedDraw, winningNumberArray);
                        }
                        this.Dispose();
                    }
                }
            }
        }
コード例 #4
0
        public List <LTL_LotteryList> getPosPendingTransactionsByDate(DateTime?pDrawDate)
        {
            LotteryDrawRepository drawRepo = new LotteryDrawRepository();

            return(this.getAll().Where(
                       item =>
                       item.LPS_LotteryPointSale == UtilityService.getPointSaleId() &&
                       drawRepo.getById(item.LTD_LotteryDraw).LTD_CreateDate == pDrawDate &&
                       item.SYS_SynchronyStatus == SystemConstants.SYNC_STATUS_PENDING_TO_SERVER
                       // Excluir de las transacciones pendientes los estados de lista TEMPORALES
                       && item.LLS_LotteryListStatus != SystemConstants.LIST_STATUS_PROCESSING
                       ).ToList());
        }
コード例 #5
0
ファイル: TicketPrintService.cs プロジェクト: melfallas/SILO
        // 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);
        }
コード例 #6
0
        public object generateSimpleListObject(LTL_LotteryList pListObject,
                                               long pListStatus = SystemConstants.LIST_STATUS_CREATED,
                                               long pSyncStatus = SystemConstants.SYNC_STATUS_COMPLETED
                                               )
        {
            LotteryDrawRepository      lotteryDrawRepository = new LotteryDrawRepository();
            LTD_LotteryDraw            draw      = lotteryDrawRepository.getById(pListObject.LTD_LotteryDraw);
            LotteryPointSaleRepository saleRepo  = new LotteryPointSaleRepository();
            LPS_LotteryPointSale       pointSale = saleRepo.getById(pListObject.LPS_LotteryPointSale);
            // Crear el objeto JSON
            var jsonObject = new
            {
                listNumber        = pListObject.LTL_Id,
                lotteryPointSale  = pointSale.LPS_Id,
                lotteryDraw       = pListObject.LTD_LotteryDraw,
                lotteryListStatus = pListStatus,
                synchronyStatus   = pSyncStatus,
                customerName      = pListObject.LTL_CustomerName,
                createDate        = pListObject.LTL_CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
            };

            return(jsonObject);
        }
コード例 #7
0
        //---------------------------------- Métodos de lógica de aplicación -------------------------------//

        public void fillTextBoxes()
        {
            LTD_LotteryDraw draw = new LTD_LotteryDraw();

            draw.LDT_LotteryDrawType = Convert.ToInt64(this.drawTypeBox.SelectedValue);
            draw.LTD_CreateDate      = this.datePickerList.Value.Date;
            LotteryDrawRepository drawRepository = new LotteryDrawRepository();

            draw = drawRepository.getDrawRegister(draw);
            // Validar si existe el sorteo para realizar la búsqueda de los ganadores
            if (draw != null)
            {
                DrawNumberWinningRepository winningRepository = new DrawNumberWinningRepository();
                DNW_DrawNumberWinning       winningDraw       = winningRepository.getById(draw.LTD_Id);
                // Verificar ganadores para llenar los textboxes
                if (winningDraw != null)
                {
                    MessageBox.Show("Los ganadores para el sorteo ya fueron agregados previamente. Puede sobre escribirlos digitando los nuevos números y presionando el botón 'Guardar'.");
                    this.txbFirst.Text  = winningDraw.DNW_FirtsNumber;
                    this.txbSecond.Text = winningDraw.DNW_SecondNumber;
                    this.txbThird.Text  = winningDraw.DNW_ThirdNumber;
                }
            }
        }
コード例 #8
0
 public ListService()
 {
     this.drawRepository = new LotteryDrawRepository();
     this.listRepository = new LotteryListRepository();
 }
コード例 #9
0
        public object generateListObject(LTL_LotteryList pListObject)
        {
            LotteryDrawRepository      lotteryDrawRepository = new LotteryDrawRepository();
            LTD_LotteryDraw            draw      = lotteryDrawRepository.getById(pListObject.LTD_LotteryDraw);
            LotteryPointSaleRepository saleRepo  = new LotteryPointSaleRepository();
            LPS_LotteryPointSale       pointSale = saleRepo.getById(pListObject.LPS_LotteryPointSale);
            // Crear el objeto JSON
            var jsonObject = new
            {
                listNumber       = pListObject.LTL_Id,
                lotteryPointSale = new
                {
                    id              = pointSale.LPS_Id,
                    code            = pointSale.LPS_Code,
                    synchronyStatus = new
                    {
                        code        = "SC",
                        displayName = "Sincronizado",
                        description = "Sincronización completa",
                        id          = 3
                    },
                    displayName = pointSale.LPS_DisplayName,
                    description = pointSale.LPS_Description,
                    company     = new
                    {
                        code        = "TR",
                        displayName = "TIEMPOS RIVERA",
                        description = "Tiempos Rivera",
                        id          = 1,
                        createDate  = pointSale.LPS_CreateDate.ToString("yyyy-MM-dd HH:mm:ss")
                    },
                    createDate = pointSale.LPS_CreateDate.ToString("yyyy-MM-dd HH:mm:ss")
                },
                lotteryDraw = new
                {
                    id = pListObject.LTD_LotteryDraw,
                    lotteryDrawType   = draw.LDT_LotteryDrawType,
                    lotteryDrawStatus = draw.LDS_LotteryDrawStatus,
                    createDate        = draw.LTD_CreateDate
                },
                lotteryListStatus = new
                {
                    id          = 2,
                    code        = "R",
                    displayName = "Borrada",
                    description = "Borrada"
                },
                synchronyStatus = new
                {
                    id          = 3,
                    code        = "SC",
                    displayName = "Sincronización completa",
                    description = "Sincronización completa"
                },
                customerName = pListObject.LTL_CustomerName,
                createDate   = pListObject.LTL_CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
            }
            ;

            return(jsonObject);
        }
コード例 #10
0
 public DrawService()
 {
     this.drawRepo = new LotteryDrawRepository();
 }