Ejemplo n.º 1
0
 //genera una lista de canciones (ID, nombre, artistas)
 public static object CatalogoCanciones()
 {
     try
     {
         var contexto     = new DiscografiaDB();
         var setCanciones = contexto.Canciones.AsEnumerable().Select(s =>
                                                                     new
         {
             s.CancionID,
             s.Nombre,
             losArtistas = s.Artistas.Aggregate <Artista, string, string>(
                 String.Empty, (str, a) => str + a.Nombre + ", ",
                 str => str.Substring(0, str.Length - 2))
         }
                                                                     ).OrderBy(s => s.losArtistas).ThenBy(s => s.Nombre).ToList();
         return(setCanciones);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Ejemplo n.º 2
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtUsuario.Text.Trim() != String.Empty && txtPassword.Text.Trim() != String.Empty)
            {
                Cursor.Current = Cursors.WaitCursor;
                try
                {
                    using (var contexto = new DiscografiaDB())
                    {
                        string passwordEncriptado = Encriptacion.MD5Hash(txtPassword.Text);

                        //obtención del usuario ingresado
                        var usuarioValido = contexto.Usuarios.FirstOrDefault(s => s.User == txtUsuario.Text.Trim() &&
                                                                             s.Password == passwordEncriptado);

                        //el registro se encontró
                        if (usuarioValido != null)
                        {
                            //estatus 1: usuario activo
                            if (usuarioValido.Estatus == 1)
                            {
                                Program.AbrirAplicacion = true;

                                Cursor.Current = Cursors.Default;
                                this.Close();
                            }
                            //estatus 0: usuario suspendido
                            else
                            {
                                Cursor.Current = Cursors.Default;
                                MessageBox.Show("El usuario está suspendido.", "Validación");
                            }
                        }
                        else
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Usuario o contraseña incorrectos.", "Validación");
                        }
                    }
                }
                catch (DbEntityValidationException ex)
                {
                    string errorsBuffer = "";
                    foreach (var error in ex.EntityValidationErrors)
                    {
                        errorsBuffer += error.Entry.Entity.GetType().Name + " in state " + error.Entry.State + " has validation errors:\n";
                        foreach (var ve in error.ValidationErrors)
                        {
                            errorsBuffer += "\tProperty: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + "\n";
                        }
                    }
                    MessageBox.Show("Errores de EF:\n" + errorsBuffer, "Error");
                }
                catch (Exception exception)
                {
                    MessageBox.Show("No es posible acceder a la aplicación. " + exception.Message, "Error");
                }
                Cursor.Current = Cursors.Default;
            }
            else
            {
                MessageBox.Show("Proporciona usuario y contraseña.", "Validación");
            }
        }