示例#1
0
        public void inicializarTablas()
        {
            // dgvTutores
            dgvTutores.AutoGenerateColumns = false;
            dgvTutores.SelectionMode       = DataGridViewSelectionMode.FullRowSelect;
            // dgvPsicologos
            dgvPsicologos.AutoGenerateColumns = false;
            dgvPsicologos.SelectionMode       = DataGridViewSelectionMode.FullRowSelect;


            dgvUsuario.RowTemplate.Height = 40;


            // "psicologos" es una coleción genérica
            BindingList <PsicologoWS.psicologo> psicologos;

            try
            {
                psicologos = new BindingList <PsicologoWS.psicologo>(daoPsicologo.listarTodosPsicologos().ToList());
            }
            catch (ArgumentNullException ex)
            {
                psicologos = new BindingList <PsicologoWS.psicologo>();
            }
            dgvPsicologos.DataSource = psicologos;
            PsicologoWS.psicologo psicologo;

            // "tutores" es una coleción genérica
            BindingList <TutorWS.tutor> tutores;

            try
            {
                tutores = new BindingList <TutorWS.tutor>(daoTutor.listarTodosTutores().ToList());
            }
            catch (ArgumentNullException ex)
            {
                tutores = new BindingList <TutorWS.tutor>();
            }
            dgvTutores.DataSource = tutores;
            TutorWS.tutor tutor;


            cantidadFilas       = dgvPsicologos.RowCount + dgvTutores.RowCount;
            dgvUsuario.RowCount = cantidadFilas;

            // Bucles de Inserción
            int i;

            for (i = 0; i < dgvPsicologos.RowCount; i++)
            {
                psicologo = (PsicologoWS.psicologo)dgvPsicologos.Rows[i].DataBoundItem;
                dgvUsuario.Rows[i].Cells[0].Value = psicologo.apellidoPaterno + " " + psicologo.apellidoMaterno + " " + psicologo.nombre;
                dgvUsuario.Rows[i].Cells[1].Value = psicologo.celular;
                dgvUsuario.Rows[i].Cells[2].Value = psicologo.correo;
                dgvUsuario.Rows[i].Cells[3].Value = "Psicologo";
                if (psicologo.tipo == 1)
                {
                    dgvUsuario.Rows[i].Cells[4].Value = "Sí";
                }
                else
                {
                    dgvUsuario.Rows[i].Cells[4].Value = "No";
                }
                dgvUsuario.Rows[i].Cells[5].Value = psicologo.fotoPerfil;
            }



            for (int j = i; j < dgvTutores.RowCount + i; j++)
            {
                tutor = (TutorWS.tutor)dgvTutores.Rows[j - i].DataBoundItem;
                dgvUsuario.Rows[j].Cells[0].Value = tutor.apellidoPaterno + " " + tutor.apellidoMaterno + " " + tutor.nombre;
                dgvUsuario.Rows[j].Cells[1].Value = tutor.celular;
                dgvUsuario.Rows[j].Cells[2].Value = tutor.correo;
                dgvUsuario.Rows[j].Cells[3].Value = "Tutor";
                if (tutor.tipo == 1)
                {
                    dgvUsuario.Rows[j].Cells[4].Value = "Sí";
                }
                else
                {
                    dgvUsuario.Rows[j].Cells[4].Value = "No";
                }
                dgvUsuario.Rows[j].Cells[5].Value = tutor.fotoPerfil;
            }

            dgvUsuario.AutoSizeRowsMode      = DataGridViewAutoSizeRowsMode.None;
            dgvUsuario.AllowUserToResizeRows = false;

            dgvUsuario.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            // Ordenar Alfabeticamente el DatagridView
            this.dgvUsuario.Sort(this.dgvUsuario.Columns[0], ListSortDirection.Ascending);
        }
示例#2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            PsicologoWS.psicologo psicologo = new PsicologoWS.psicologo();

            psicologo.nombre                   = txtNombre.Text;
            psicologo.apellidoPaterno          = txtApellidoPat.Text;
            psicologo.apellidoMaterno          = txtApellidoMat.Text;
            psicologo.fechaNacimiento          = dtpFechaNacimiento.Value;
            psicologo.fechaNacimientoSpecified = true;
            psicologo.distrito                 = new PsicologoWS.distrito();
            psicologo.distrito                 = distrito;

            /*-------------------------------------------------------------------------*/
            // dgvTutores
            dgvTutores.AutoGenerateColumns = false;
            dgvTutores.SelectionMode       = DataGridViewSelectionMode.FullRowSelect;
            // dgvPsicologos
            dgvPsicologos.AutoGenerateColumns = false;
            dgvPsicologos.SelectionMode       = DataGridViewSelectionMode.FullRowSelect;


            // "psicologos" es una coleción genérica
            BindingList <PsicologoWS.psicologo> psicologos;

            try
            {
                psicologos = new BindingList <PsicologoWS.psicologo>(daoPsicologo.listarTodosPsicologos().ToList());
            }
            catch (ArgumentNullException ex)
            {
                psicologos = new BindingList <PsicologoWS.psicologo>();
            }
            dgvPsicologos.DataSource = psicologos;
            PsicologoWS.psicologo psicologoAux;

            // "tutores" es una coleción genérica
            BindingList <TutorWS.tutor> tutores;

            try
            {
                tutores = new BindingList <TutorWS.tutor>(daoTutor.listarTodosTutores().ToList());
            }
            catch (ArgumentNullException ex)
            {
                tutores = new BindingList <TutorWS.tutor>();
            }
            dgvTutores.DataSource = tutores;
            TutorWS.tutor tutorAux;


            cantidadFilas = dgvPsicologos.RowCount + dgvTutores.RowCount;


            // Bucles de Inserción
            int  i;
            bool encontrado        = false;
            bool encontradoCelular = false;
            bool encontradoDNI     = false;

            for (i = 0; i < dgvPsicologos.RowCount; i++)
            {
                psicologoAux = (PsicologoWS.psicologo)dgvPsicologos.Rows[i].DataBoundItem;
                if (psicologoAux.correo == txtCorreo.Text)
                {
                    // Si ya está el correo, sale un mensaje que indique ello // Se añade excepciones
                    if (psicologoAux.correo != "*****@*****.**")
                    {
                        encontrado = true;
                    }
                }

                if (txtCelular.Text != "")
                {
                    if (Int64.Parse(psicologoAux.celular) == Int64.Parse(txtCelular.Text))
                    {
                        encontradoCelular = true;
                    }
                }

                if (txtDni.Text != "")
                {
                    if (Int64.Parse(psicologoAux.DNI) == Int64.Parse(txtDni.Text))
                    {
                        encontradoDNI = true;
                    }
                }
            }

            for (int j = i; j < dgvTutores.RowCount + i; j++)
            {
                tutorAux = (TutorWS.tutor)dgvTutores.Rows[j - i].DataBoundItem;
                if (tutorAux.correo == txtCorreo.Text)
                {
                    // Si ya está el correo, sale un mensaje que indique ello
                    encontrado = true;
                }
                if (txtCelular.Text != "")
                {
                    if (Int64.Parse(tutorAux.celular) == Int64.Parse(txtCelular.Text))
                    {
                        encontradoCelular = true;
                    }
                }
                if (txtDni.Text != "")
                {
                    if (Int64.Parse(tutorAux.DNI) == Int64.Parse(txtDni.Text))
                    {
                        encontradoDNI = true;
                    }
                }
            }

            if (encontrado == false)
            {
                psicologo.correo = txtCorreo.Text;
            }
            else
            {
                psicologo.correo = "";
            }

            if (encontradoCelular == false)
            {
                psicologo.celular = txtCelular.Text;
            }
            else
            {
                psicologo.celular = "";
            }

            if (encontradoDNI == false)
            {
                psicologo.DNI = txtDni.Text;
            }
            else
            {
                psicologo.DNI = "";
            }
            /*-------------------------------------------------------------------------*/


            //Por defecto
            psicologo.tipo = 0;


            psicologo.telefono = txtTelf.Text;
            if (rbtnHombre.Checked == true)
            {
                psicologo.genero = 'M';
            }
            else if (rbtnMujer.Checked == true)
            {
                psicologo.genero = 'F';
            }
            else
            {
                psicologo.genero = 2;
            }


            //Foto es opcional:
            if (rutaFoto.Equals("") != true)
            {
                FileStream   fs = new FileStream(rutaFoto, FileMode.Open, FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);
                psicologo.fotoPerfil = br.ReadBytes((int)fs.Length);
            }
            else
            {
                psicologo.fotoPerfil = null;
            }


            //Validaciones:
            bool validacionCorrecta = true;

            // txtDni
            if (psicologo.DNI.Length != 8 || psicologo.DNI[0] == '0')  // El DNI debe tener 8 dígitos
            {
                this.errorProvider.SetError(txtDni, "El DNI debe tener 8 dígitos.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(txtDni, "");
            }

            // txtTelf
            if (psicologo.telefono.Length != 7 || psicologo.telefono[0] == '0')  // El telefono debe tener 7 dígitos
            {
                this.errorProvider.SetError(txtTelf, "El telefono debe tener 7 dígitos.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(txtTelf, "");
            }

            // txtCelular
            if (psicologo.celular.Length != 9 || psicologo.celular[0] != '9')  // El telefono debe tener 7 dígitos
            {
                this.errorProvider.SetError(txtCelular, "El número de celular debe tener 9 dígitos y empezar con 9.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(txtCelular, "");
            }

            // txtNombre
            if (psicologo.nombre == "")
            {
                this.errorProvider.SetError(txtNombre, "Es requerido ingresar el nombre.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(txtNombre, "");
            }

            // txtApellidoPat
            if (psicologo.apellidoPaterno == "")
            {
                this.errorProvider.SetError(txtApellidoPat, "Es requerido ingresar el apellido paterno.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(txtApellidoPat, "");
            }


            // dtpFechaNacimiento
            if (psicologo.fechaNacimiento.Year > 2003)
            {
                this.errorProvider.SetError(dtpFechaNacimiento, "Es requerido ingresar una fecha de nacimiento válida.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(dtpFechaNacimiento, "");
            }

            // txtDistrito
            if (psicologo.distrito == null)
            {
                this.errorProvider.SetError(txtDistrito, "Es requerido ingresar un distrito.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(txtDistrito, "");
            }

            // rbtnMujer
            if (psicologo.genero == 2)
            {
                this.errorProvider.SetError(rbtnMujer, "Es requerido seleccionar un género.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(rbtnMujer, "");
            }

            // btnSubirFoto
            if (pbFoto.Image == null)
            {
                this.errorProvider.SetError(btnSubirFoto, "Debe ingresar una foto para el perfil del psicólogo.");
                validacionCorrecta = false;
            }
            else
            {
                this.errorProvider.SetError(btnSubirFoto, "");
            }

            // txtCorreo
            if (psicologo.correo != "")
            {
                if (!Char.IsLetter(psicologo.correo[0]) || psicologo.correo.Contains("@") != true || !(psicologo.correo.IndexOf(".", psicologo.correo.IndexOf("@")) > psicologo.correo.IndexOf("@")))
                {
                    this.errorProvider.SetError(txtCorreo, "Ingrese un correo válido.");
                    validacionCorrecta = false;
                }
                else
                {
                    this.errorProvider.SetError(txtCorreo, "");
                }
            }
            else
            {
                this.errorProvider.SetError(txtCorreo, "Es requerido ingresar un correo.");
                validacionCorrecta = false;
            }


            if (validacionCorrecta && encontrado == false && encontradoCelular == false && encontradoDNI == false)
            {
                int verificado = daoPsicologo.verificarDNI(psicologo.DNI, psicologo.nombre, psicologo.apellidoPaterno, psicologo.apellidoMaterno);
                if (verificado == -1)
                {
                    var resultado = MessageBox.Show("No se ha podido verificar el DNI. Quiere continuar?", "Mensaje de Confirmacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (resultado == DialogResult.Yes)
                    {
                        try
                        {
                            var credenciales = generarUsuario();
                            psicologo.user     = credenciales.Item1;
                            psicologo.password = credenciales.Item2;
                            int idPsicologo = daoPsicologo.insertarPsicologo(psicologo);
                            if (idPsicologo > 0)
                            {
                                string msgEnvioDatos = "";
                                if (this.daoUsuario.enviarDatosUsuario(psicologo.correo, psicologo.user, psicologo.password, psicologo.nombre + " " +
                                                                       psicologo.apellidoPaterno + " " + psicologo.apellidoMaterno, "", 0) == 1)
                                {
                                    msgEnvioDatos = ". Credenciales enviadas con exito.";
                                }
                                MessageBox.Show("Se ha registrado con exito" + msgEnvioDatos, "Mensaje de Confirmacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                psicologo.idPersona = idPsicologo;
                                formPlantilla.abrirFormulario(formOperacionPersona);
                            }
                            else
                            {
                                MessageBox.Show("Registro fallido", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        catch (Exception ex)
                        {
                            throw new Exception(ex.Message);
                        }
                    }
                }
                else if (verificado == 0)
                {
                    MessageBox.Show("El DNI no concuerda con los nombres", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    try
                    {
                        int idPsicologo = daoPsicologo.insertarPsicologo(psicologo);
                        if (idPsicologo != 0)
                        {
                            MessageBox.Show("Se ha registrado con exito", "Mensaje de Confirmacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            psicologo.idPersona = idPsicologo;
                            formOperacionPersona.inicializarTablas();
                            formPlantilla.abrirFormulario(formOperacionPersona);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception();
                    }
                }
            }
            else if (validacionCorrecta && encontradoDNI == true)
            {
                MessageBox.Show("El DNI ya se encuentra registrado en el sistema.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (validacionCorrecta && encontrado == true)
            {
                MessageBox.Show("El correo electrónico ya se encuentra registrado en el sistema.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (validacionCorrecta && encontradoCelular == true)
            {
                MessageBox.Show("El número de celular ya se encuentra registrado en el sistema.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (!validacionCorrecta && encontradoDNI == true)
            {
                MessageBox.Show("Faltan datos o están incorrectos, además el DNI ya se encuentra registrado en el sistema. Revisar nuevamente.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.errorProvider.SetError(txtDni, "El DNI ya se encuentra registrado en el sistema.");
            }
            else if (!validacionCorrecta && encontrado == true)
            {
                MessageBox.Show("Faltan datos o están incorrectos, además el correo electrónico ya se encuentra registrado en el sistema. Revisar nuevamente.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.errorProvider.SetError(txtCorreo, "El correo electrónico ya se encuentra registrado en el sistema.");
            }
            else if (!validacionCorrecta && encontradoCelular == true)
            {
                MessageBox.Show("Faltan datos o están incorrectos, además el número de celular ya se encuentra registrado en el sistema. Revisar nuevamente.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.errorProvider.SetError(txtCelular, "El número de celular ya se encuentra registrado en el sistema.");
            }
            else
            {
                MessageBox.Show("Faltan datos o están incorrectos. Revisar nuevamente.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }