Пример #1
0
 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]);
         }
     }
 }
Пример #2
0
 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);
             }
         }
     }
 }
Пример #3
0
        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);
            }
        }