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); }
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); }
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(); } } } }
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()); }
// 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); }
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); }
//---------------------------------- 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; } } }
public ListService() { this.drawRepository = new LotteryDrawRepository(); this.listRepository = new LotteryListRepository(); }
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); }
public DrawService() { this.drawRepo = new LotteryDrawRepository(); }