private void button1_Click(object sender, EventArgs e)
        {
            using (var context = new ReclamoEntities())
            {
                try
                {
                    context.Usuarios.Attach(this.User);

                    int lCodArea = ((Area)this.comboAreas.SelectedItem).Id;
                    bool lPublico = this.checkBox1.Checked;

                    List<Usuario> lLista = new List<Usuario>() { this.User };
                    Reclamo lReclamo = new Reclamo() { Titulo = textBox1.Text, Comentario = richTextBox1.Text, Usuario = this.User, UsuariosAdherentes=lLista, Publico = lPublico };
                    context.Reclamos.Add(lReclamo);
                    context.SaveChanges();

                    Estado lEstado = context.Estados.Where(es => es.Nombre == "Abierto").FirstOrDefault<Estado>();
                    Historico lHistorico = new Historico() { Comentario = "Apertura de Reclamo", FechaHora = DateTime.Now, Reclamo_Id = lReclamo.Id, Estado_Id = lEstado.Id, Area_Id= lCodArea };

                    context.Historicos.Add(lHistorico);
                    context.SaveChanges();

                    MessageBox.Show("Reclamo guardado correctamente","Exito",MessageBoxButtons.OK);
                    this.Close();

                }
                catch (Exception ex)
                {
                    MessageBox.Show("Excepcion no manejada...","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    throw ex;
                }

            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            using (var context = new ReclamoEntities())
            {
                try
                {

                    int lIdReclamo = ((Reclamo)this.comboReclamos.SelectedItem).Id;
                    int lIdEstado = ((Estado)this.comboEstados.SelectedItem).Id;
                    int lIdArea = ((Area)this.comboAreas.SelectedItem).Id;

                    Historico lHistorico = new Historico() { Comentario = this.richTextBox1.Text, FechaHora = DateTime.Now, Reclamo_Id = lIdReclamo, Estado_Id = lIdEstado, Area_Id = lIdArea };

                    context.Historicos.Add(lHistorico);
                    context.SaveChanges();

                    MessageBox.Show("Reclamo guardado correctamente", "Exito", MessageBoxButtons.OK);
                    this.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Excepcion no manejada...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw ex;
                }
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            using (var context = new ReclamoEntities())
            {
                try
                {
                    string lNombre = textBox1.Text;
                    string lNombreUsuario = textBox4.Text;
                    string lContraseña = textBox3.Text;
                    string lCorreo = textBox2.Text;

                    var lRes = context.Usuarios.Where(us => us.NombreUsuario == lNombreUsuario).FirstOrDefault<Usuario>();

                    if (lRes == null)
                    {
                        Usuario lUsuario = new Usuario() { Nombre = lNombre, Email = lCorreo, NombreUsuario = lNombreUsuario, Contraseña = lContraseña };

                        int lIdTipo = ((TipoUsuario)comboBox1.SelectedItem).Id;

                        lUsuario.TipoUser_Id = lIdTipo;

                        context.Usuarios.Add(lUsuario);
                        context.SaveChanges();
                        MessageBox.Show("Usuario generado con exito", "Exito", MessageBoxButtons.OK);
                    }
                    else
                    {
                        MessageBox.Show("No se pudo agregar el usuario porque ya existe con ese nombre", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                }
                catch (Exception ex)
                {

                    MessageBox.Show("Excepcion no manejada...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw ex;
                }
                finally
                {
                    this.Close();
                }

            }
        }