Exemple #1
0
        public frmUsuario(Accion miAccion, int id)
        {
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;
            Logica.SesionBL.ObtenerInstancia().Suscribir(this);
            usuarioBL                      = new Logica.UsuarioBL();
            accion                         = miAccion;
            user                           = usuarioBL.Consultar(id);
            txtUsername.Text               = user.Username;
            txtContrasena.Text             = user.Password;
            txtConfirmarContrasena.Text    = user.Password;
            txtContrasena.Enabled          = false;
            txtConfirmarContrasena.Enabled = false;
            txtContrasena.Visible          = false;
            txtConfirmarContrasena.Visible = false;
            lblContrasena.Visible          = false;
            lblRepetirContrasena.Visible   = false;

            btnAceptar.Location  = new Point(283, 397);
            btnCancelar.Location = new Point(434, 397);
            this.Size            = new Size(880, 504);

            txtEmail.Text    = user.Email;
            txtNombre.Text   = user.Nombre;
            txtApellido.Text = user.Apellido;
            gruposAll        = usuarioBL.ListarGrupos();
            foreach (var cbGrupo in ListarCheckBoxesGrupos(gruposAll))
            {
                flpGrupos.Controls.Add(cbGrupo);
            }
            btnAceptar.Enabled = Accion.Consulta == accion ? false : true;
        }
Exemple #2
0
 public frmCambiarContrasena(int miUserId, bool miNecesitaContrActual)
 {
     InitializeComponent();
     necesitaContrActual = miNecesitaContrActual;
     if (!necesitaContrActual)
     {
         txtContrasenaActual.Enabled = false;
         lblContrasenaActual.Enabled = false;
         lblTitle.Text = "Cambiá la contraseña.";
     }
     CheckForIllegalCrossThreadCalls = false;
     userId    = miUserId;
     usuarioBL = new Logica.UsuarioBL();
     usuario   = usuarioBL.Consultar(userId);
     Logica.SesionBL.ObtenerInstancia().Suscribir(this);
 }
        public frmMisDatos(int vistaId)
        {
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;
            int userId = Modelo.Sesion.ObtenerInstancia().Usuario.ID;

            usuarioBL = new Logica.UsuarioBL();
            usuario   = usuarioBL.Consultar(userId);
            Logica.SesionBL.ObtenerInstancia().Suscribir(this);

            var accionesDisponibles = usuarioBL.ListarAccionesDisponibles(userId, vistaId);

            foreach (var accion in accionesDisponibles)
            {
                var button = new Button();
                button.Name     = "btn" + accion.Descripcion;
                button.Text     = accion.Descripcion;
                button.AutoSize = true;
                button.Click   += BtnAccion;

                button.Padding    = new Padding(10, 0, 10, 0);
                button.Margin     = new Padding(4);
                button.ImageAlign = ContentAlignment.MiddleLeft;
                button.TextAlign  = ContentAlignment.MiddleRight;
                button.FlatStyle  = FlatStyle.Flat;
                button.FlatAppearance.BorderSize = 0;
                button.BackColor         = Color.FromArgb(94, 48, 228);
                button.Size              = new Size(button.Size.Width, 40);
                button.Image             = Image.FromFile(@"..\..\Resources\" + accion.IconName);
                button.TextImageRelation = TextImageRelation.ImageBeforeText;
                flpAcciones.Controls.Add(button);
            }
            foreach (var grupo in usuario.Grupos)
            {
                var label = new Label();
                label.AutoSize = true;
                label.Margin   = new Padding(0, 2, 0, 2);
                label.Name     = grupo.ID.ToString();
                label.Text     = " → " + grupo.Descripcion;
                flpGrupos.Controls.Add(label);
            }

            txtUsername.Text = usuario.Username;
            txtEmail.Text    = usuario.Email;
            txtNombre.Text   = usuario.Nombre;
            txtApellido.Text = usuario.Apellido;
        }
        private void BtnEnviarCorreo_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrWhiteSpace(txtUsername.Text) || String.IsNullOrWhiteSpace(txtEmail.Text))
            {
                MessageBox.Show("Debe completar todos los campos.");
                return;
            }
            try//validar email
            {
                var addr = new MailAddress(txtEmail.Text);
                if (addr.Address != txtEmail.Text)
                {
                    MessageBox.Show("El email no es válido");
                    return;
                }
            }
            catch
            {
                MessageBox.Show("El email no es válido");
                return;
            }
            try
            {
                Modelo.Usuario usuario = usuarioBL.Consultar(txtUsername.Text, txtEmail.Text);
                if (usuario == null)
                {
                    MessageBox.Show("Los datos ingresados son incorrectos");
                    return;
                }

                string passDES = Logica.Hasheo.RandomString(6, true);
                usuario.Password = Logica.Hasheo.GenerarContrasena(passDES);

                usuarioBL.CambiarContrasena(passDES, usuario.ID, usuario.ID, true);

                usuarioBL.EnviarEmail(passDES, usuario.Email);

                MessageBox.Show("Revise su correo electrónico para conocer su nueva contraseña.");
            }
            catch (Exception)
            {
                MessageBox.Show("Ha ocurrido un error");
            }

            this.Close();
        }
        private void BtnAccion(object sender, EventArgs e)
        {
            try
            {
                switch (((Button)sender).Text)
                {
                case "Modificacion":
                    //validar
                    if (String.IsNullOrWhiteSpace(txtUsername.Text) ||
                        String.IsNullOrWhiteSpace(txtEmail.Text) ||
                        String.IsNullOrWhiteSpace(txtNombre.Text) ||
                        String.IsNullOrWhiteSpace(txtApellido.Text))
                    {
                        MessageBox.Show("Debe completar todos los campos");
                        return;
                    }
                    try    //validar email
                    {
                        var addr = new System.Net.Mail.MailAddress(txtEmail.Text);
                        if (addr.Address != txtEmail.Text)
                        {
                            MessageBox.Show("El email no es válido");
                            return;
                        }
                    }
                    catch
                    {
                        MessageBox.Show("El email no es válido");
                        return;
                    }
                    //modificar

                    DialogResult modificar = MessageBox.Show("¿Está seguro que desea modificar sus datos?", "Modificación", MessageBoxButtons.YesNo);
                    if (modificar == DialogResult.Yes)
                    {
                        usuario.Username = txtUsername.Text;
                        usuario.Email    = txtEmail.Text;
                        usuario.Nombre   = txtNombre.Text;
                        usuario.Apellido = txtApellido.Text;
                        usuarioBL.Modificar(usuario, usuario.ID, false);
                    }
                    break;

                case "Baja":
                    DialogResult eliminar = MessageBox.Show("¿Está seguro que desea darse de baja?", "Eliminación", MessageBoxButtons.YesNo);
                    if (eliminar == DialogResult.Yes)
                    {
                        usuarioBL.Eliminar(usuario.ID, usuario.ID);
                        Logica.SesionBL.ObtenerInstancia().FinalizarSesion();
                    }
                    break;

                case "Cambiar Contraseña":
                    frmCambiarContrasena frmCambiarContrasena = new frmCambiarContrasena(usuario.ID, true);
                    frmCambiarContrasena.ShowDialog();
                    usuarioBL.Consultar(usuario.ID);
                    break;

                default:
                    break;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Ha ocurrido un error.");
            }
        }