public void SortearNumeros() { if (Tope < 0 || Tope < Cantidad || Tope < Inicio || Inicio < 0 || Cantidad < 0) { throw new ArgumentException("Existen errores en los parametros del sorteo."); } Tope--; if (PermitirDuplicados) { for (int i = 0; i < Cantidad; i++) { int numero = sortearNumero(Inicio, Tope); Resultado.Add(ContenidoBolillero[numero]); } } else { for (int i = 0; i < Cantidad; i++) { int numero; do { numero = sortearNumero(Inicio, Tope); } while (Resultado.Contains(ContenidoBolillero[numero])); Resultado.Add(ContenidoBolillero[numero]); } } }
public void SortearNumeros() { if (Tope < 0 || Tope < Cantidad || Tope < Inicio || Inicio < 0 || Cantidad < 0) { throw new ArgumentException("Existen errores en los parametros del sorteo."); } if (UsarRango) { if (Rango != 0) { if (Cantidad == 0) { Cantidad = CalcularCantidad(); } } int inicio; for (int i = 1; i <= Cantidad; i++) { inicio = (i - 1) * (int)Rango + 1; int topeRango = i * (int)Rango; if (Tope > topeRango) { Resultado.Add(sortearNumero(inicio, topeRango)); } else { Resultado.Add(sortearNumero(inicio, Tope)); } } } else { if (PermitirDuplicados) { for (int i = 0; i < Cantidad; i++) { int numero = sortearNumero(Inicio, Tope); Resultado.Add(numero); } } else { for (int i = 0; i < Cantidad; i++) { int numero; do { numero = sortearNumero(Inicio, Tope); } while(Resultado.Contains(numero)); Resultado.Add(numero); } } } }
private void DataRecibida(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { try { _userSession.TipoDeConfig = ConfirmarPlanta(); var Resultado = PuertoSerial.ReadExisting(); switch (_userSession.TipoDeConfig) { #region Vicuña case 1: if (Resultado.Length == 3) { PuertoSerial.DiscardInBuffer(); break; } var Vicuna = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", ""); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(Vicuna); break; #endregion #region Salamanca case 2: Resultado = Resultado.Substring(0, 5); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(Resultado); break; #endregion #region Sotaqui case 3: if (Resultado.Contains("F") && Resultado.Contains("M")) { Resultado = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", ""); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(Resultado); break; } else { AccesoInterrupcion("00.0"); break; } #endregion #region Alto del Carmen case 4: if (_userSession.Id_Recepcion > 0) { if (Resultado.Contains("F") && Resultado.Contains("M")) { var AltoDelCarmen = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", ""); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(AltoDelCarmen); break; } else { AccesoInterrupcion("00.00"); break; } } else { AccesoInterrupcion("00.0"); break; } #endregion #region Hurtado case 6: if (_userSession.Id_Recepcion > 0) { if (Resultado.Contains("F") && Resultado.Contains("M")) { var Hurtado = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "").Replace(".", ","); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(Hurtado); break; } else { AccesoInterrupcion("00.00"); break; } } else { AccesoInterrupcion("00.0"); break; } #endregion #region Montegrande case 7: if (_userSession.Id_Recepcion > 0) { if (Resultado.Contains("F") && Resultado.Contains("M")) { var Montegrande = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", ""); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(Montegrande); break; } else { AccesoInterrupcion("00.00"); break; } } else { AccesoInterrupcion("00.0"); break; } #endregion #region Chimba case 8: if (_userSession.Id_Recepcion > 0) { if (Resultado.Contains("F") && Resultado.Contains("M")) { var Ovalle = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", ""); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(Ovalle); break; } else { AccesoInterrupcion("00.00"); break; } } else { AccesoInterrupcion("00.0"); break; } #endregion #region Atacama case 9: EscribirEnLog("Leyendo Atacama"); EscribirEnLog("Info de Ticket: ID_Recepcion: " + _userSession.Id_Recepcion + " " + "ID_PLANTA:" + _userSession.Id_Planta + ""); EscribirEnLog("Con resultado:" + Resultado); if (_userSession.Id_Recepcion > 0) { if (Resultado.Length == 3) { PuertoSerial.DiscardInBuffer(); break; } var Atacama = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", ""); PuertoSerial.DiscardInBuffer(); AccesoInterrupcion(Atacama); break; } else { AccesoInterrupcion("00,0"); break; } #endregion } } catch (ArgumentException) { //EscribirEnLog("Error en el recibimiento de Data. Error : "+ error.Message); //Error al parsear _cooperado.GradoText.Text = "00.00"; } catch (TimeoutException ex) { EscribirEnLog("Error en los instrumentos de medición.Error: " + ex.Message); } }