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(); } } } }
//---------------------------------- 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; } } }