/// <summary> /// Realiza el proceso de inicio de sesión, comprobando que exista una cuenta en /// la base de datos con los datos especificados. /// </summary> /// <param name="sender">Botón Iniciar sesión</param> /// <param name="e">Evento del botón</param> private void IniciarSesionButton_Click(object sender, RoutedEventArgs e) { if (!VerificarCampos()) { MessageBox.Show("Faltan campos por completar."); return; } try { string contraseniaCifrada = Herramientas.CifrarConSHA512(contraseniaTextBox.Password); Cuenta.IniciarSesion(usuarioTextBox.Text, contraseniaCifrada, (cuentaEncontrada) => { if (cuentaEncontrada != null) { Sesion.Cuenta = cuentaEncontrada; Sesion.Revisor = cuentaEncontrada.Revisor.Count > 0 ? cuentaEncontrada.Revisor.FirstOrDefault() : null; Sesion.Organizador = cuentaEncontrada.Organizador.ToList().FirstOrDefault(); if (Sesion.Revisor == null) { new MenuPrincipal().Show(); } else { new PanelRevisor().Show(); } Close(); } else { MessageBox.Show("No existe una cuenta registrada con estos datos."); } }); } catch (EntityException) { MessageBox.Show("Error al iniciar sesión."); } }
/// <summary> /// Verifica que los campos estén completos, que se haya seleccionado /// el archivo del artículo, y registra el artículo en la base de datos. /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void registrarButton_Click(object sender, RoutedEventArgs e) { if (!VerificarCampos()) { MessageBox.Show("Faltan campos por completar."); return; } if (!ValidarDatos()) { MessageBox.Show("Debes introducir datos válidos."); return; } if (string.IsNullOrWhiteSpace(archivoSeleccionado)) { MessageBox.Show("Debes seleccionar el archivo que incluye tu artículo."); return; } var autoresArticulo = new Collection <AutorArticulo>(); foreach (var autor in AutoresList) { autoresArticulo.Add(new AutorArticulo { Autor = autor.Autor, fecha = DateTime.Now }); } var nombreArchivoEncriptado = Herramientas.CifrarConSHA512( nombreArchivoSeleccionado + DateTime.Now.ToUniversalTime() ) + ".pdf"; try { Articulo nuevoArticulo = new Articulo { titulo = tituloTextBox.Text, anio = int.Parse(añoCreacionTextBox.Text), keywords = keywordsTextBox.Text, resumen = resumenTextBox.Text, Track = (Track)trackComboBox.SelectedItem, archivo = nombreArchivoEncriptado, estado = "Pendiente", AutorArticulo = autoresArticulo }; if (nuevoArticulo.Registrar()) { File.Copy(archivoSeleccionado, App.ARTICULOS_DIRECTORIO + "/" + nombreArchivoEncriptado); MessageBox.Show("Artículo registrado."); Close(); return; } MessageBox.Show("Error al establecer una conexión."); } catch (DbUpdateException dbUpdateException) { MessageBox.Show("Error al establecer una conexión."); Console.WriteLine("DbUpdateException@RegistrarArticulo->registrarButton_Click() -> " + dbUpdateException.Message); } catch (Exception exception) { MessageBox.Show("Error al establecer una conexión."); Console.WriteLine("Exception@RegistrarArticulo->registrarButton_Click() -> " + exception.Message); } }