Beispiel #1
0
        private async void picLogin_Click(object sender, System.EventArgs e)
        {
            // INICIAR SESION

            if (canLogin)
            {
                HideBoxes();
                ShowLoadingIcon();
                await Task.Run(() => WaitLoading());

                if (personaDAO.verificarCorreo(txtEmail.Text) == -1)
                {
                    loginError   = true;
                    currentError = (int)ErrorType.InvalidEmail;
                    ClearPassword();
                    txtPassword_Leave(null, null);
                    txtEmail.Select();
                    RestartTogglePassword();
                    SetErrorBoxes();
                    HideLoadingIcon();
                    ShowBoxes();
                }
                else
                {
                    PersonaWS.persona user = personaDAO.verificarPersona(txtEmail.Text, txtPassword.Text);

                    if (user != null)
                    {
                        loginError = false;

                        if (user.tipo == 'E')
                        {
                            empleadoLogueado = empleadoDAO.buscarEmpleadoPorCodigo(user.codigo);
                            AbrirInicioEmpleado();
                        }
                        else if (user.tipo == 'A')
                        {
                            agenteLogueado = agenteDAO.buscarAgentePorCodigo(user.codigo);
                            if (agenteLogueado.rol.nombre.Contains("AGENTE"))
                            {
                                AbrirInicioAgente();
                            }
                            else if (agenteLogueado.rol.nombre.Contains("SUPERVISOR"))
                            {
                                AbrirInicioSupervisor();
                            }
                            else if (agenteLogueado.rol.nombre.Contains("ADMIN"))
                            {
                                AbrirInicioAdmin();
                            }
                        }

                        Hide();
                        if (boxesDown)
                        {
                            MoveBoxesUp();
                            HideErrorMessage();
                        }
                        ClearEmail();
                        ClearPassword();
                        txtPassword_Leave(null, null);
                        txtEmail.Select();
                        RestartTogglePassword();
                        ShowBoxes();
                    }
                    else
                    {
                        loginError   = true;
                        currentError = (int)ErrorType.InvalidPassword;
                        ClearPassword();
                        txtPassword.Select();
                        SetErrorBoxes();
                        RestartTogglePassword();
                        HideLoadingIcon();
                        ShowBoxes();
                        txtPassword.Select();
                    }
                }
            }
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (txtNombre.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar el nombre del empleado.",
                    "Error de nombre",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (!Regex.IsMatch(txtNombre.Text, @"[a-zA-Z]"))
            {
                MessageBox.Show(
                    "El nombre del empleado de contener solo letras.",
                    "Error de nombre",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (txtPaterno.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar el apellido paterno del empleado.",
                    "Error de apellido paterno",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (!Regex.IsMatch(txtPaterno.Text, @"[a-zA-Z]"))
            {
                MessageBox.Show(
                    "El apellido paterno del empleado de contener solo letras.",
                    "Error de apellido paterno",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (txtMaterno.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar el apellido materno del empleado.",
                    "Error de apellido materno",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (!Regex.IsMatch(txtMaterno.Text, @"[a-zA-Z]"))
            {
                MessageBox.Show(
                    "El apellido materno del empleado de contener solo letras.",
                    "Error de apellido materno",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (txtDireccion.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar la direccion del empleado.",
                    "Error de direccion",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (Regex.Matches(txtDireccion.Text, @"[a-zA-Z]").Count == 0)
            {
                MessageBox.Show(
                    "La direccion del empleado de contener al menos una letra.",
                    "Error de direccion",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (txtTel.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar el telefono del empleado.",
                    "Error de telefono",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (!Regex.IsMatch(txtTel.Text, @"[0-9]"))
            {
                MessageBox.Show(
                    "El telefono del empleado de contener solo numeros.",
                    "Error de telefono",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (txtTel.Text.Length != 9)
            {
                MessageBox.Show("El telefono del empleado debe de tener 9 digitos", "Error de telefono", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (txtTel.Text[0] != '9')
            {
                MessageBox.Show("El telefono del empleado debe iniciar con el digito 9", "Error de telefono", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (txtCodigo.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar el codigo del empleado.",
                    "Error de codigo",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (!Regex.IsMatch(txtCodigo.Text, @"[0-9]"))
            {
                MessageBox.Show(
                    "El codigo del empleado debe de contener solo numeros.",
                    "Error de codigo",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (Regex.Matches(txtCodigo.Text, @"[0-9]").Count != 8)
            {
                MessageBox.Show(
                    "El codigo del empleado debe de contener 8 digitos.",
                    "Error de codigo",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (txtDNI.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar el dni del empleado.",
                    "Error de dni",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (!Regex.IsMatch(txtDNI.Text, @"[0-9]"))
            {
                MessageBox.Show(
                    "El dni del empleado de contener solo numeros.",
                    "Error de dni",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (Regex.Matches(txtDNI.Text, @"[0-9]").Count != 8)
            {
                MessageBox.Show(
                    "El dni del empleado debe de contener 8 digitos.",
                    "Error de dni",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (cboBiblioteca.SelectedIndex == -1)
            {
                MessageBox.Show(
                    "Falta seleccionar la biblioteca del empleado.",
                    "Error de biblioteca",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (txtEmailPersonal.Text == "")
            {
                MessageBox.Show(
                    "Falta indicar el email personal del empleado.",
                    "Error de email personal",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }
            if (!Regex.IsMatch(txtEmailPersonal.Text, @"^([\w-.]+)@(pucp.(edu.)?pe)$"))
            {
                MessageBox.Show(
                    "Existe un error en el formato del email PUCP del empleado.",
                    "Error de email PUCP empleado",
                    MessageBoxButtons.OK, MessageBoxIcon.Information
                    );
                return;
            }

            empleadoSel                 = new EmpleadoWS.empleado();
            empleadoSel.nombre          = txtNombre.Text;
            empleadoSel.apellidoPaterno = txtPaterno.Text;
            empleadoSel.apellidoMaterno = txtMaterno.Text;
            empleadoSel.codigo          = txtCodigo.Text;
            empleadoSel.dni             = txtDNI.Text;

            empleadoSel.biblioteca = new EmpleadoWS.biblioteca();

            empleadoSel.biblioteca.bibliotecaId = (int)cboBiblioteca.SelectedValue;
            empleadoSel.personaEmail            = txtEmailPersonal.Text;
            empleadoSel.direccion = txtDireccion.Text;
            empleadoSel.telefono  = txtTel.Text;
            empleadoSel.password  = RandomGenerator.GenerateRandomPassword();

            if (MessageBox.Show("¿Desea crear el registro?", "Crear Empleado", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                int rpta = personaDAO.verificarCorreo(txtEmailPersonal.Text);
                EmpleadoWS.empleado empBusc = empleadoDAO.buscarEmpleadoPorCodigo(empleadoSel.codigo);

                if (rpta == 1)
                {
                    MessageBox.Show(
                        "Ya existe un usuario con ese correo",
                        "Error",
                        MessageBoxButtons.OK, MessageBoxIcon.Information
                        );
                    return;
                }
                if (empBusc.empleadoId != 0)
                {
                    MessageBox.Show(
                        "Ya existe un usuario con ese código",
                        "Error",
                        MessageBoxButtons.OK, MessageBoxIcon.Information
                        );
                    return;
                }

                if (rpta == -1)
                {
                    if (empleadoDAO.insertarEmpleado(empleadoSel) > 0)
                    {
                        MessageBox.Show(
                            "Se ha creado el registro exitosamente",
                            "Registro exitoso",
                            MessageBoxButtons.OK, MessageBoxIcon.Information
                            );

                        EnviarEmailRegistrado(empleadoSel);
                    }
                    else
                    {
                        MessageBox.Show(
                            "No se ha creado el registro",
                            "Registro no realizado",
                            MessageBoxButtons.OK, MessageBoxIcon.Information
                            );
                    }
                }
                else
                {
                    MessageBox.Show(
                        "Ya existe un empleado con ese código",
                        "Registro no realizado",
                        MessageBoxButtons.OK, MessageBoxIcon.Information
                        );
                }
                this.DialogResult = DialogResult.OK;
            }
        }