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); }
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); } }