public Documentos(string Ruta) { TotalDocumentos = 0; if (File.Exists(Ruta)) { string Aux; fichero = File.OpenText(Ruta); do { Aux = fichero.ReadLine(); if (Aux != null) { if (Aux[0] == '.' && Aux[1] == 'I') { TotalDocumentos++; } } } while (Aux != null); Docs = new string[TotalDocumentos, 5]; fichero.BaseStream.Seek(0, SeekOrigin.Begin); int i = 0, j = 0; Aux = fichero.ReadToEnd(); string[] palabras = Aux.Split(new Char[] { 'A', 'T', 'I', 'B', 'W' });//Divide una cadena en subcadenas basadas en los caracteres de una matriz. foreach (string p in palabras) { string palabra = p.Replace(".", ""); if (palabra.Trim() != "." && palabra.Trim() != "")//Trim() Quita todos los caracteres de espacio en blanco del principio y el final del objeto String actual. { Docs[j, i] = palabra; i++; if (i == 5) { j++; i = 0; } } } fichero.Close(); Cargado = true; } else { Cargado = false; } }
public Indice(int Docs, string Ruta) { if (File.Exists(Ruta)) { string Aux; fichero = File.OpenText(Ruta); Aux = fichero.ReadToEnd(); PalabrasIndice = LimpiarPalabras(Aux, StopWords.Palabras); DocsIndice = new int[PalabrasIndice.Length, Docs]; string[] palabras = Aux.Split(new Char[] { (char)13, (char)10, ' ', ',', '.', ':', '\t', '\"', '/', '-', 'A', 'T', 'I', 'B', 'W' });//Divide una cadena en subcadenas basadas en los caracteres de una matriz. bool stopW = false; int j = -1; foreach (string palabra in palabras) { if (palabra.Trim() != "")//Trim() Quita todos los caracteres de espacio en blanco del principio y el final del objeto String actual. { stopW = Comparar(palabra, StopWords.Palabras); if (stopW == false)//si las palabras de Stopword no es igual a la palabra del Indice, ingresa a este scope { if (palabra == Convert.ToString(j + 2)) { j++; } for (int k = 0; k < PalabrasIndice.Length; k++) { if (palabra == PalabrasIndice[k]) { DocsIndice[k, j]++; } } } else { stopW = false; } } } } }
// //FORMATO //[0]= Fecha [1]=Hora [2]=ID Proyector //Boton para ingresar private void btnIngresar_Click(object sender, EventArgs e) { //Auxiliar para mandar mensaje de aviso que se agrego correctamente int Auxiliar = 0; if (ListaApartados.Count == 0) { // Mensaje de error, indicando conflicto, sugiriendo seleccionar un dispositivo MessageBox.Show("Selecciona un dispositivo", "Conflicto", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { // //RESTRICCION DE APARTADO // //1.Revisar que string AuxAntiguo = ""; bool Advertencia = false; ListaApartados.Sort(); //Bucle para recorrer elementos de lista de apartados foreach (var owo in ListaApartados) { string[] separado = owo.Split('/'); if (AuxAntiguo == "") { AuxAntiguo = separado[1]; } else { if ((Convert.ToInt32(AuxAntiguo) + 1) == Convert.ToInt32(separado[1])) { Advertencia = true; } } } // si advertencia es falso iniciara un bucle foreach if (Advertencia == false) { foreach (var Aux in ListaApartados) { string[] separado = Aux.Split('/'); Conexion Conex = new Conexion(); Conex.Conexiones.Open(); //Conversion a Hora Inicial TimeSpan AuxHoraInicial = TimeSpan.FromHours(Convert.ToDouble(separado[1])); AuxHoraInicial.ToString("hh':'mm':'ss"); //Conversion a Hora Final TimeSpan AuxHoraFinal = TimeSpan.FromHours(Convert.ToDouble(separado[1]) + 1); AuxHoraFinal.ToString("hh':'mm':'ss"); //Condicion para confirmar que no este apartado esta fecha string AuxCadena; if (LocalTipo == "Laboratorio") { // Seleccion de la tabla Prestamo_Lab cuando la hora y fecha y ID sean las definidas. AuxCadena = "select * from Prestamo_Lab where Hora_Entrada='" + AuxHoraInicial.ToString("hh':'mm':'ss") + "' and Fecha='" + separado[0] + "' and ID_Lap=" + separado[2]; } else { // Seleccion de la tabla Prestamo_Proyectores cuando la hora y fecha y ID sean las definidas. AuxCadena = "select * from Prestamo_Proyectores where Hora_Entrada='" + AuxHoraInicial.ToString("hh':'mm':'ss") + "' and Fecha='" + separado[0] + "' and ID_Proyector=" + separado[2]; } // Se crea una instancia SqlCommand pasando el string con el comando SQL y la referencia a la conexión SqlCommand cmd = new SqlCommand(AuxCadena, Conex.Conexiones); // Recuperacion de los datos generados SqlDataAdapter dr = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); dr.Fill(dt); // Se cierra la conexion de la base de datos Conex.Conexiones.Close(); if (dt.Rows.Count > 0) { // Mensaje de error que indica que el proyector se encuentra ya se encuentra apartado, mostrando la hora y fel proyector marcando conflicto MessageBox.Show("Esta hora ya se encuentra apartada.\r\nFavor de escoger otra hora. \r\n[Conflicto => Hora:" + AuxHoraInicial.ToString("hh':'mm':'ss") + " Proyector: " + separado[2], "Conflicto", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } else { Auxiliar = 1; // Abrir conexion con la base de datos Conex.Conexiones.Open(); string Cadena; // En caso de elegir Local tipo laboratorio if (LocalTipo == "Laboratorio") { // Cadeba donde se insertan los valores en la tabla Prestamo_Lab Cadena = "insert into Prestamo_Lab values (" + LocalNumUsuario + "," + separado[2] + ",'" + separado[0] + "','" + AuxHoraInicial.ToString("hh':'mm':'ss") + "','" + AuxHoraFinal.ToString("hh':'mm':'ss") + "','" + GeneradorCodigo() + "')"; } else { // Cadeba donde se insertan los valores en la tabla Prestamo_Proyectores Cadena = "insert into Prestamo_Proyectores values (" + LocalNumUsuario + "," + separado[2] + ",'" + separado[0] + "','" + AuxHoraInicial.ToString("hh':'mm':'ss") + "','" + AuxHoraFinal.ToString("hh':'mm':'ss") + "','" + GeneradorCodigo() + "')"; } // Se crea una instancia SqlCommand pasando el string con el comando SQL y la referencia a la conexión cmd = new SqlCommand(Cadena, Conex.Conexiones); //Llamamos ExecuteNonQuery para enviar comandos cmd.ExecuteNonQuery(); // Se cierra la conexion de la base de datos Conex.Conexiones.Close(); } } if (Auxiliar == 1) { // Mensaje que confirma que se ha llevado con exito el apartado del proyector MessageBox.Show("Se han apartado los proyectores correctamente.", "Listo", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } } else { // Mensaje en caso de error, indicando conflicto y sugerirendo no pedir el mismo proyector 2 horas seguidas MessageBox.Show("Recuerda que no puedes pedir el mismo proyector dos horas seguidas.\r\nFavor de escoger otra proyector.", "Conflicto", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }