private String NombrarArchivo() { String Retorno = ""; try { Random Ran = new Random(); String Posibles = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; int LongitudMaxima = Posibles.Length; char Letra; int LongitudNuevaCadena = 20; for (int i = 0; i < LongitudNuevaCadena; i++) { Letra = Posibles[Ran.Next(LongitudMaxima)]; Retorno += Letra.ToString(); } } catch { Retorno = ""; } return(Retorno); }
//Carnet Nuevo public string NuevoCarnet() { //VARIABLES string vlc_CarnetNuevo = string.Empty, vlc_AnioActual = string.Empty, vlc_Prefijo = string.Empty, vlc_sentencia = string.Empty, consecut = string.Empty; int Consecutivo; char Letra; //SE EXTRAE EL AÑO DE LA FECHA ACTUAL. vlc_AnioActual = DateTime.Now.Year.ToString(); //SE EXTRAE EL PENULTIMO VALOR DEL AÑO. vlc_Prefijo += vlc_AnioActual[2]; //SE CONVIERTE ESTE VALOR EN UN SU VALOR ASCCI QUE SE HACE SUMANDOLE 65 AL PENULTIMO NÚMERO DEL AÑO Y S EGUARDA EN LA VARIABLE LETRA.. Letra = (char)(int.Parse(vlc_Prefijo) + 65); //SE LIMPIA EL VALOR DEL STRING. vlc_Prefijo = string.Empty; //SE GUARDA LA LETRA YA CONVERTIDA EN EL STRING. vlc_Prefijo = Letra.ToString(); //SE LE CONCATENA EL ULTIMO DIGITO DEL AÑO. vlc_Prefijo += vlc_AnioActual[3]; //SE ESTABLECE LAS VARIABLES DEL CLIENTE SQL. SqlCommand vlo_Command = new SqlCommand(); SqlConnection vlo_Conexion = new SqlConnection(vgc_CadenaConexion); //SE ESTABLECE LA CONEXION CON LA BASE DE DATOS vlo_Command.Connection = vlo_Conexion; // SE ESTABLECE LA SENTENCIA LA CUAL VERIFICA LA CANTIDA DE CON ESE PREFIJO DE CARNET. vlc_sentencia = string.Format("select COUNT(CARNET) from ESTUDIANTES where CARNET like '%{0}%'", vlc_Prefijo); try { //SE ABRE LA CONEXION vlo_Conexion.Open(); vlo_Command.CommandText = vlc_sentencia; // SE VERIFICA QUE SI LA CANTIDAD DE REGISTRO CON ESE PREFIJO ES CERO. if (Convert.ToInt32(vlo_Command.ExecuteScalar()) == 0) { //SI ES CERO SE GUARDA EL CARNE CON EL PREFIJO Y SE CONCATENA QUE ES EL PRIMER REGISTRO. vlc_CarnetNuevo = vlc_Prefijo + "0001"; } else { // DE CASO CONTRARIO SE BUSCA EL MAXIMO VALORCON ESE PREFIJO Y VALOR NÚMERO CO MAYOR. vlc_sentencia = string.Format("select max(CONVERT(int,SUBSTRING(CARNET,3,LEN(CARNET)))) from ESTUDIANTES where CARNET like '%{0}%'", vlc_Prefijo); vlo_Command.CommandText = vlc_sentencia; //EL VALOR CONSECUTIVO OBTENIDO SE LE SUMA UNO PARA GENERAR EL SIGUIENTE CARNET. Consecutivo = int.Parse(vlo_Command.ExecuteScalar().ToString()) + 1; vlo_Conexion.Close(); //SE CONVIRTE ESTE NÚMERO A STRING consecut = Consecutivo.ToString(); // SE VERIFICA LA LONGITUD DE ESTE Y SE LE CONCATENA CEROS ANTES DEL VALOR SEGÚN LO QUE SEA NECESARIO. if (consecut.Length == 1) { vlc_CarnetNuevo = vlc_Prefijo + "000" + consecut; } else { if (consecut.Length == 2) { vlc_CarnetNuevo = vlc_Prefijo + "00" + consecut; } else { if (consecut.Length == 3) { vlc_CarnetNuevo = vlc_Prefijo + "0" + consecut; } else { if (consecut.Length == 4) { vlc_CarnetNuevo = vlc_Prefijo + consecut; } } } } } } catch (Exception) { throw; } // SE RETORNA EL CARNET NUEVO. return(vlc_CarnetNuevo); }
/// <summary> /// Limpia el DataSet de datos no válidos /// </summary> /// <param name="_P_Ds_DataSet"></param> /// <param name="_P_Int_LineaInicioDatos"></param> /// <returns></returns> public static DataSet _Mtd_ConfigurarDataSet(DataSet _P_Ds_DataSet, int _P_Int_LineaInicioDatos, int _P_Int_ColumnaFinalDatos = 0, int _P_Int_CantColuVaciasPermi = 1) { int _Int_Fila; int _Int_Columna; // - - - - - - - - - - - - - - - - Elimino las Lineas que especifico el usuario - - - - - - - - - - - - - - - - _Int_Fila = 1; while (_Int_Fila < _P_Int_LineaInicioDatos) { _P_Ds_DataSet.Tables[0].Rows[0].Delete(); //Remuevo la Primera Fila _Int_Fila++; //Avanzo } //Elimino las Filas que esten totalmente en Blanco _Int_Fila = 0; while (_Int_Fila < _P_Ds_DataSet.Tables[0].Rows.Count) { bool _Bol_ConDatos = false; for (_Int_Columna = 0; _Int_Columna < _P_Ds_DataSet.Tables[0].Columns.Count; _Int_Columna++) { if (!string.IsNullOrEmpty(_P_Ds_DataSet.Tables[0].Rows[_Int_Fila][_Int_Columna].ToString())) { _Bol_ConDatos = true; break; } } //Si la fila esta vacia la elimino if (!_Bol_ConDatos) { _P_Ds_DataSet.Tables[0].Rows[_Int_Fila].Delete(); //Remuevo } else { _Int_Fila++; //Avanzo } } // - - - - - - - - - - - - - - - - Elimino Las Columnas que esten totalmente en blanco - - - - - - - - - - - - - - - - _Int_Columna = 0; while (_Int_Columna < _P_Ds_DataSet.Tables[0].Columns.Count) { bool _Bol_Convalor = false; //Obtengo los Valores de Toda la Columna for (_Int_Fila = 0; _Int_Fila < _P_Ds_DataSet.Tables[0].Rows.Count; _Int_Fila++) { //Si hay algun valor, lo guardo y salto a la siguiente columna if (!string.IsNullOrEmpty(_P_Ds_DataSet.Tables[0].Rows[_Int_Fila][_Int_Columna].ToString())) { _Bol_Convalor = true; break; } } //Si la Columna esta vacia la elimino if (!_Bol_Convalor) { //Solo si se pasa el parametro if (_P_Int_ColumnaFinalDatos > 0) { //Solo si la columna esta posterior a la ultima columna de datos if (_Int_Columna > _P_Int_ColumnaFinalDatos) { _P_Ds_DataSet.Tables[0].Columns.RemoveAt(_Int_Columna); //Remuevo } } else { _P_Ds_DataSet.Tables[0].Columns.RemoveAt(_Int_Columna); //Remuevo } } _Int_Columna++; //Avanzo } //// - - - - - - - - - - - - - - - - Detecto las Columnas que contienen datos en funcion a la primera fila - - - - - - - - - - - - - - - - //List<int> _Int_ColumnasConDatos = new List<int>(); //for (_Int_Columna = 0; _Int_Columna < _P_Ds_DataSet.Tables[0].Columns.Count; _Int_Columna++) //{ // if (!string.IsNullOrEmpty(_P_Ds_DataSet.Tables[0].Rows[0][_Int_Columna].ToString())) // { // _Int_ColumnasConDatos.Add(_Int_Columna); // } //} // - - - - - - - - - - - - - - - - Detecto las Columnas que contienen datos (total de columnas) - - - - - - - - - - - - - - - - List <int> _Int_ColumnasConDatos = new List <int>(); for (_Int_Fila = 0; _Int_Fila < _P_Ds_DataSet.Tables[0].Rows.Count; _Int_Fila++) { for (_Int_Columna = 0; _Int_Columna < _P_Ds_DataSet.Tables[0].Columns.Count; _Int_Columna++) { if ((_Int_ColumnasConDatos.Count - 1) < _Int_Columna) { _Int_ColumnasConDatos.Add(_Int_Columna); } } } //En funcion a las columnas detectadas, comparo todas las filas y elimino las filas que no tengan datos en todas ellas _Int_Fila = 0; int _Int_IndicePrimeraColumnaPermitidaVacia = 0; int _Int_IndiceSegundaColumnaPermitidaVacia = 0; int _Int_ContadorDeColumnasVacias = 0; while (_Int_Fila < _P_Ds_DataSet.Tables[0].Rows.Count) { bool _Bol_BorrarFila = false; _Int_ContadorDeColumnasVacias = 0; foreach (int _Int_ColumnaArevisar in _Int_ColumnasConDatos) { if (string.IsNullOrEmpty(_P_Ds_DataSet.Tables[0].Rows[_Int_Fila][_Int_ColumnaArevisar].ToString())) { //Si se pasaron de cantidad de columnas vacias if (_Int_ContadorDeColumnasVacias > (_P_Int_CantColuVaciasPermi)) { //Indico borrar _Bol_BorrarFila = true; //Inicializo _Int_ContadorDeColumnasVacias = 0; } else { //Cuento _Int_ContadorDeColumnasVacias++; //Guardo los Indices if (_Int_IndicePrimeraColumnaPermitidaVacia == 0) { _Int_IndicePrimeraColumnaPermitidaVacia = _Int_ColumnaArevisar; //Guardo el Primer Indice } else if (_Int_IndiceSegundaColumnaPermitidaVacia == 0) { _Int_IndiceSegundaColumnaPermitidaVacia = _Int_ColumnaArevisar; //Guardo el Primer Indice } } } } //Si se pasaron de cantidad de columnas vacias if (_Int_ContadorDeColumnasVacias > (_P_Int_CantColuVaciasPermi)) { //Indico borrar _Bol_BorrarFila = true; } //Si hay que borrarla if (_Bol_BorrarFila) { _P_Ds_DataSet.Tables[0].Rows[_Int_Fila].Delete(); //Remuevo } else { _Int_Fila++; //Avanzo } } //Si tiene alguna celda la palabra saldo la elimino _Int_Fila = 0; while (_Int_Fila < _P_Ds_DataSet.Tables[0].Rows.Count) { bool _Bol_BorrarFila_SaldoInicial = false; bool _Bol_BorrarFila_SaldoFinal = false; foreach (int _Int_ColumnaArevisar in _Int_ColumnasConDatos) { if (_P_Ds_DataSet.Tables[0].Rows[_Int_Fila][_Int_ColumnaArevisar].ToString().ToUpper().IndexOf("SALDO INICIAL", StringComparison.Ordinal) != -1) { //Indico borrar _Bol_BorrarFila_SaldoInicial = true; } if (_P_Ds_DataSet.Tables[0].Rows[_Int_Fila][_Int_ColumnaArevisar].ToString().ToUpper().IndexOf("SALDO FINAL", StringComparison.Ordinal) != -1) { //Indico borrar _Bol_BorrarFila_SaldoFinal = true; } } //Si hay que borrarla if (_Bol_BorrarFila_SaldoInicial & _Bol_BorrarFila_SaldoFinal) { _P_Ds_DataSet.Tables[0].Rows[_Int_Fila].Delete(); //Remuevo } else { _Int_Fila++; //Avanzo } } //Limpio Los campos si viene con doble comilla _Int_Fila = 0; while (_Int_Fila < _P_Ds_DataSet.Tables[0].Rows.Count) { _Int_Columna = 0; while (_Int_Columna < _P_Ds_DataSet.Tables[0].Columns.Count) { string _Str_ValorCelda = _P_Ds_DataSet.Tables[0].Rows[_Int_Fila][_Int_Columna].ToString(); long _Int_CantidadDeComillasDobles = _Str_ValorCelda.LongCount(Letra => Letra.ToString() == "\""); if (_Int_CantidadDeComillasDobles >= 1) { _Str_ValorCelda = _Str_ValorCelda.Replace("\"", ""); _P_Ds_DataSet.Tables[0].Rows[_Int_Fila][_Int_Columna] = _Str_ValorCelda; } _Int_Columna++; } _Int_Fila++; } //Devuelvo return(_P_Ds_DataSet); }
async Task ValidarRespuestas() { if (ConfirmacionServer == true && ConfirmacionCliente == true) { // VALIDACIONES NOMBRE if (RespuestaJugador1.Nombre != null && RespuestaJugador2.Nombre != null) { if (RespuestaJugador1.Nombre.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador1.Nombre.ToUpper() == RespuestaJugador2.Nombre.ToUpper()) { pNombre1 = 50; } else if (RespuestaJugador1.Nombre.ToUpper() != RespuestaJugador2.Nombre.ToUpper()) { pNombre1 = 100; } } else { pNombre1 = 0; } if (RespuestaJugador2.Nombre.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador2.Nombre.ToUpper() == RespuestaJugador1.Nombre.ToUpper()) { pNombre2 = 50; } else if (RespuestaJugador2.Nombre.ToUpper() != RespuestaJugador1.Nombre.ToUpper()) { pNombre2 = 100; } } else { pNombre2 = 0; } } else if (RespuestaJugador1.Nombre == null && RespuestaJugador2.Nombre != null)//Que una llegue vacía la del Jugador 1 y la del Jugador 2 no { if (RespuestaJugador2.Nombre.ToUpper().StartsWith(Letra.ToString())) { pNombre2 = 100; } else { pNombre2 = 0; } } else if (RespuestaJugador2.Nombre == null && RespuestaJugador1.Nombre != null)//Que llegue vacía la del Jugador 2 y la del Jugador 1 no { if (RespuestaJugador1.Nombre.ToUpper().StartsWith(Letra.ToString())) { pNombre1 = 100; } else { pNombre1 = 0; } } else//Las dos son nulas { pNombre1 = 0; pNombre2 = 0; } // VALIDACIONES LUGAR if (RespuestaJugador1.Lugar != null && RespuestaJugador2.Lugar != null) { if (RespuestaJugador1.Lugar.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador1.Lugar.ToUpper() == RespuestaJugador2.Lugar.ToUpper()) { pLugar1 = 50; } else if (RespuestaJugador1.Lugar.ToUpper() != RespuestaJugador2.Lugar.ToUpper()) { pLugar1 = 100; } } else { pLugar1 = 0; } if (RespuestaJugador2.Lugar.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador2.Lugar.ToUpper() == RespuestaJugador1.Lugar.ToUpper()) { pLugar2 = 50; } else if (RespuestaJugador2.Lugar.ToUpper() != RespuestaJugador1.Lugar.ToUpper()) { pLugar2 = 100; } } else { pLugar2 = 0; } } else if (RespuestaJugador1.Lugar == null && RespuestaJugador2.Lugar != null)//Que una llegue vacía la del Jugador 1 y la del Jugador 2 no { if (RespuestaJugador2.Lugar.ToUpper().StartsWith(Letra.ToString())) { pLugar2 = 100; } else { pLugar2 = 0; } } else if (RespuestaJugador2.Lugar == null && RespuestaJugador1.Lugar != null)//Que llegue vacía la del Jugador 2 y la del Jugador 1 no { if (RespuestaJugador1.Lugar.ToUpper().StartsWith(Letra.ToString())) { pLugar1 = 100; } else { pLugar1 = 0; } } else//Las dos son nulas { pLugar1 = 0; pLugar2 = 0; } // VALIDACIONES ANIMAL if (RespuestaJugador1.Animal != null && RespuestaJugador2.Animal != null) { if (RespuestaJugador1.Animal.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador1.Animal.ToUpper() == RespuestaJugador2.Animal.ToUpper()) { pAnimal1 = 50; } else if (RespuestaJugador1.Animal.ToUpper() != RespuestaJugador2.Animal.ToUpper()) { pAnimal1 = 100; } } else { pAnimal1 = 0; } if (RespuestaJugador2.Animal.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador2.Animal.ToUpper() == RespuestaJugador1.Animal.ToUpper()) { pAnimal2 = 50; } else if (RespuestaJugador2.Animal.ToUpper() != RespuestaJugador1.Animal.ToUpper()) { pAnimal2 = 100; } } else { pAnimal2 = 0; } } else if (RespuestaJugador1.Animal == null && RespuestaJugador2.Animal != null)//Que una llegue vacía la del Jugador 1 y la del Jugador 2 no { if (RespuestaJugador2.Animal.ToUpper().StartsWith(Letra.ToString())) { pAnimal2 = 100; } else { pAnimal2 = 0; } } else if (RespuestaJugador2.Animal == null && RespuestaJugador1.Animal != null)//Que llegue vacía la del Jugador 2 y la del Jugador 1 no { if (RespuestaJugador1.Animal.ToUpper().StartsWith(Letra.ToString())) { pAnimal1 = 100; } else { pAnimal1 = 0; } } else//Las dos son nulas { pAnimal1 = 0; pAnimal2 = 0; } // VALIDACIONES COLOR if (RespuestaJugador1.Color != null && RespuestaJugador2.Color != null) { if (RespuestaJugador1.Color.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador1.Color.ToUpper() == RespuestaJugador2.Color.ToUpper()) { pColor1 = 50; } else if (RespuestaJugador1.Color.ToUpper() != RespuestaJugador2.Color.ToUpper()) { pColor1 = 100; } } else { pColor1 = 0; } if (RespuestaJugador2.Color.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador2.Color.ToUpper() == RespuestaJugador1.Color.ToUpper()) { pColor2 = 50; } else if (RespuestaJugador2.Color.ToUpper() != RespuestaJugador1.Color.ToUpper()) { pColor2 = 100; } } else { pColor2 = 0; } } else if (RespuestaJugador1.Color == null && RespuestaJugador2.Color != null)//Que una llegue vacía la del Jugador 1 y la del Jugador 2 no { if (RespuestaJugador2.Color.ToUpper().StartsWith(Letra.ToString())) { pColor2 = 100; } else { pColor2 = 0; } } else if (RespuestaJugador2.Color == null && RespuestaJugador1.Color != null)//Que llegue vacía la del Jugador 2 y la del Jugador 1 no { if (RespuestaJugador1.Color.ToUpper().StartsWith(Letra.ToString())) { pColor1 = 100; } else { pColor1 = 0; } } else//Las dos son nulas { pColor1 = 0; pColor2 = 0; } // VALIDACIONES COMIDA if (RespuestaJugador1.Comida != null && RespuestaJugador2.Comida != null) { if (RespuestaJugador1.Comida.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador1.Comida.ToUpper() == RespuestaJugador2.Comida.ToUpper()) { pComida1 = 50; } else if (RespuestaJugador1.Comida.ToUpper() != RespuestaJugador2.Comida.ToUpper()) { pComida1 = 100; } } else { pComida1 = 0; } if (RespuestaJugador2.Comida.ToUpper().StartsWith(Letra.ToString())) { if (RespuestaJugador2.Comida.ToUpper() == RespuestaJugador1.Comida.ToUpper()) { pComida2 = 50; } else if (RespuestaJugador2.Comida.ToUpper() != RespuestaJugador1.Comida.ToUpper()) { pComida2 = 100; } } else { pComida2 = 0; } } else if (RespuestaJugador1.Comida == null && RespuestaJugador2.Comida != null)//Que una llegue vacía la del Jugador 1 y la del Jugador 2 no { if (RespuestaJugador2.Comida.ToUpper().StartsWith(Letra.ToString())) { pComida2 = 100; } else { pComida2 = 0; } } else if (RespuestaJugador2.Comida == null && RespuestaJugador1.Comida != null)//Que llegue vacía la del Jugador 2 y la del Jugador 1 no { if (RespuestaJugador1.Comida.ToUpper().StartsWith(Letra.ToString())) { pComida1 = 100; } else { pComida1 = 0; } } else//Las dos son nulas { pComida1 = 0; pComida2 = 0; } puntaje1Ronda = pNombre1 + pComida1 + pColor1 + pLugar1 + pAnimal1; puntaje2Ronda = pNombre2 + pComida2 + pColor2 + pLugar2 + pAnimal2; PuntajeJugador1 = PuntajeJugador1 + puntaje1Ronda; PuntajeJugador2 = PuntajeJugador2 + puntaje2Ronda; bool ganaJugador1 = (puntaje1Ronda > puntaje2Ronda); if (puntaje1Ronda == puntaje2Ronda) { CambiarMensaje("Empate"); puntaje1++; puntaje2++; } else if (ganaJugador1) { CambiarMensaje($"Gana jugador {Jugador1}"); puntaje1++; puntaje1Ronda = 0; puntaje2Ronda = 0; } else { CambiarMensaje($"Gana jugador {Jugador2}"); puntaje2++; puntaje1Ronda = 0; puntaje2Ronda = 0; } if (puntaje1 <= 2 && puntaje2 <= 2) { await Task.Delay(10000); CambiarMensaje("Esperando el siguiente turno"); await Task.Delay(10000); RespuestaJugador1.Nombre = RespuestaJugador1.Lugar = RespuestaJugador1.Color = RespuestaJugador1.Comida = RespuestaJugador1.Animal = null; RespuestaJugador2.Nombre = RespuestaJugador2.Lugar = RespuestaJugador2.Color = RespuestaJugador2.Comida = RespuestaJugador2.Animal = null; pNombre1 = pAnimal1 = pColor1 = pComida1 = pLugar1 = 0; pNombre2 = pAnimal2 = pColor2 = pComida2 = pLugar2 = 0; if (cliente != null) { PuedeJugarCliente = true; } if (servidor != null) { PuedeJugarServidor = true; Letra = ElegirLetra(); EnviarComando(new DatoEnviado { Comando = Comando.LetraEnviada, LetraRandom = Letra }); } ConfirmacionServer = ConfirmacionCliente = false; CambiarMensaje("Escribe tus respuestas"); } else { await Task.Delay(10000); if (PuntajeJugador1 == PuntajeJugador2) { CambiarMensaje("Juego terminado. Hay un empate"); } else { CambiarMensaje("Juego terminado. Gana " + ((PuntajeJugador1 > PuntajeJugador2) ? Jugador1 : Jugador2)); } } } }
public int CompareTo(Object theObject) { string Total = Numero.ToString() + Letra.ToString(); return(theObject.ToString().CompareTo(Total)); }
public string ConvertirATextoTamañoFijo() { return(Numero.ToString(TextoEnteroFormato) + Letra.ToString()); }