/// <summary> /// Carga del formulario, inicia el hilo con la lectura de la BASE DE DATOS. /// Si no se comprueba la conexion, se procede a trabajar con el archivo XML BackUp de instrumentos /// Cargo los valores de los elementos de produccion desde la BASE DE DATOS. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FormPrincipal_Load(object sender, EventArgs e) { if (SqlInstrumentos.DATABASE.ComprobarConexion()) { if (this.hiloBase == null || !this.hiloBase.IsAlive) { this.hiloBase = new Thread(this.CargarListaDesdeBase); this.hiloBase.Start(); } } else { if (this.hilo == null || !this.hilo.IsAlive) { this.hilo = new Thread(this.DescargaDeLista); this.hilo.Start(); } } if (StockElementosDAO.DATABASE.ComprobarConexion()) { StockElementosDAO.LecturaStock(); } else { StockElementos.StockDeBackUp(); } }
/// <summary> /// Carga del instrumento a la lista y el archivo, validando previamente los datos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCargarClasica_Click(object sender, EventArgs e) { if (checkBoxEqClasica.Checked == false) { eq = EEq.Si; } else { eq = EEq.No; } if (!(String.IsNullOrWhiteSpace(txtBoxModeloClasica.Text)) && cmbBoxColorClasica.SelectedItem != null && cmbBoxClavijasClasica.SelectedItem != null && cmbBoxEncordadoClasica.SelectedItem != null) { SeleccionColor(); SeleccionClavijas(); SeleccionEncordado(); clasica = new Clasica(eq, txtBoxModeloClasica.Text, clavijas, color, encordado); //Si se dispone de stock de los materiales se agrega a la lista if (clasica.DisminuirStock()) { Fabrica.Guitarra = clasica; Serializador.SerializarXml <List <Guitarra> >(Fabrica.listaGuitarras, $"stockInstrumentos.xml"); SqlInstrumentos.InsertarGuitarra(clasica); ///Inserta en base de datos StockElementosDAO.ModificarStock(); //modifica stock de elementos de produccion MessageBox.Show("Instrumento cargado con exito"); } } else { ComprobarDatosIngresados(); } }
/// <summary> /// Al cierre corroboro los hilos y si no son null, los finalizo /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FormFabrica_FormClosing(object sender, FormClosingEventArgs e) { Serializador.SerializarXml <List <Guitarra> >(Fabrica.listaGuitarras, $"stockInstrumentos.xml"); StockElementosDAO.ModificarStock();//modifica stock de elementos de produccion if (this.hilo != null) { this.hilo.Abort(); } if (this.hiloBase != null) { this.hiloBase.Abort(); } }