private void btn_GuardarUsuario_Click(object sender, EventArgs e) { //PASO 1: Creación de usuario if (txt_NomUsu.Text != "" && txt_Nombre.Text != "" && txt_Apellido.Text != "" && txt_NumDoc != null && txt_Email.Text != "" && txt_Telefono.Text != "" && txt_Domicilio.Text != "") { usu_BE.nom_usuario = txt_NomUsu.Text; usu_BE.nombre = txt_Nombre.Text; usu_BE.apellido = txt_Apellido.Text; usu_BE.documento = int.Parse(txt_NumDoc.Text); usu_BE.email = txt_Email.Text; usu_BE.telefono = txt_Telefono.Text; usu_BE.domicilio = txt_Domicilio.Text; int idUsuario = usu_BLL.Add(usu_BE); bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se creó de Usuario"); //PASO 2: Asociación de patentes a usuario foreach (DataGridViewRow fila in dgv_patentesAsociadas.Rows) { usuPat_BE.id_patente = (int)fila.Cells[0].Value; usuPat_BE.id_usuario = idUsuario; usuPat_BE.patenteNegada = (bool)fila.Cells[2].Value; usuPat_BLL.Add(usuPat_BE); bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se asignó una patente a un usuario"); } foreach (DataGridViewRow fila in dgv_FamiliasAsociadas.Rows) { famUsu_BE.id_usuario = idUsuario; famUsu_BE.id_familia = (int)fila.Cells[0].Value; famUsu_BLL.Add(famUsu_BE); bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se asignó una familia a un usuario"); } //PASO3: Guardar contraseña en txt SaveFileDialog savefileDialog = new SaveFileDialog(); savefileDialog.ShowDialog(); FileStream F = File.Create(savefileDialog.FileName); F.Close(); StreamWriter sw = File.AppendText(savefileDialog.FileName); sw.WriteLine("Se creó su usuario " + txt_NomUsu.Text + " con la nueva contraseña: " + usu_BLL.GetContraseña(idUsuario)); sw.Close(); MessageBox.Show("Se envió la contraseña al mail del usuario"); //PASO 4: Mensaje al usuario y volver atrás MessageBox.Show("Usuario generado con éxito"); this.Close(); } else { MessageBox.Show("Debe completar todos los campos de la pestaña principal"); } #region REFLECTION: Implementación v2 //var items = BLL.Services.GetPropertyValues("ObjectCollection", lst_PatentesAsociadas); //foreach (BE.Patente item in items) //{ // usuPat_BE.id_patente = item.id; // usuPat_BE.id_usuario = idUsuario; //} #endregion }
private void btn_GuardarUsuario_Click(object sender, EventArgs e) { if (txt_NomUsu.Text != "" && txt_Nombre.Text != "" && txt_Apellido.Text != "" && txt_NumDoc != null && txt_Email.Text != "" && txt_Telefono.Text != "" && txt_Domicilio.Text != "") { usu_BE.id = Convert.ToInt32(usuario_seleccionado.Cells[0].Value); usu_BE.activo = Convert.ToBoolean(usuario_seleccionado.Cells[1].Value); usu_BE.nom_usuario = txt_NomUsu.Text; usu_BE.nombre = txt_Nombre.Text; usu_BE.apellido = txt_Apellido.Text; usu_BE.documento = int.Parse(txt_NumDoc.Text); usu_BE.email = txt_Email.Text; usu_BE.telefono = txt_Telefono.Text; usu_BE.domicilio = txt_Domicilio.Text; usu_BE.contraseña = Convert.ToString(usuario_seleccionado.Cells[9].Value); usu_BE.cant_ingresos_incorrectos = Convert.ToInt32(usuario_seleccionado.Cells[10].Value); usu_BE.DVH = Convert.ToInt32(usuario_seleccionado.Cells[11].Value); usu_BE.es_primer_login = Convert.ToBoolean(usuario_seleccionado.Cells[12].Value); usu_BE.id_idioma = Convert.ToInt32(usuario_seleccionado.Cells[13].Value); usu_BLL.Update(usu_BE); //PASO 2 parte 1: Asociacion de patentes a usuario foreach (DataGridViewRow fila in dgv_patentesAsociadas.Rows) { if (!this.patentesUsuarioDB.Any(pu => pu.id == (int)fila.Cells[0].Value)) { usuPat_BE.id_patente = (int)fila.Cells[0].Value; usuPat_BE.id_usuario = (int)usuario_seleccionado.Cells[0].Value; usuPat_BE.patenteNegada = (bool)fila.Cells[3].Value; usuPat_BLL.Add(usuPat_BE); bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se asignó una patente a un usuario"); } } //PASO 2 parte 2: Desasociacion de patente a usuario foreach (DataGridViewRow fila in dgv_patentesDisponibles.Rows) { if (this.patentesUsuarioDB.Any(pu => pu.id == (int)fila.Cells[0].Value)) { usuPat_BE.id_patente = (int)fila.Cells[0].Value; usuPat_BE.id_usuario = (int)usuario_seleccionado.Cells[0].Value; usuPat_BLL.Delete(usuPat_BE); } } //PASO 2 parte 3: Negar patente a un usuario foreach (DataGridViewRow fila in dgv_patentesAsociadas.Rows) { BE.UsuarioPatente usuarioPatente = new BE.UsuarioPatente(); usuarioPatente = usuPat_BLL.GetUsuarioPatente((int)usuario_seleccionado.Cells[0].Value, (int)fila.Cells[0].Value); if ((bool)fila.Cells[3].Value != usuarioPatente.patenteNegada) { usuPat_BE.id_patente = (int)fila.Cells[0].Value; usuPat_BE.id_usuario = (int)usuario_seleccionado.Cells[0].Value; usuPat_BE.patenteNegada = (bool)fila.Cells[3].Value; usuPat_BLL.Update(usuPat_BE); bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se negó una patente a un usuario"); } } //PASO 3 parte 1: Asociacion de familia a Usuario foreach (DataGridViewRow fila in dgv_familiasAsociadas.Rows) { if (!this.familiasUsuarioDB.Any(fu => fu.id == (int)fila.Cells[0].Value)) { famUsu_BE.id_usuario = (int)usuario_seleccionado.Cells[0].Value; famUsu_BE.id_familia = (int)fila.Cells[0].Value; famUsu_BLL.Add(famUsu_BE); bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se asignó una familia a un usuario"); } } //PASO 3 parte 2: Desasociacion de familia a Usuario foreach (DataGridViewRow fila in dgv_familiasDisponibles.Rows) { if (this.familiasUsuarioDB.Any(fu => fu.id == (int)fila.Cells[0].Value)) { famUsu_BE.id_usuario = (int)usuario_seleccionado.Cells[0].Value; famUsu_BE.id_familia = (int)fila.Cells[0].Value; famUsu_BLL.Delete(famUsu_BE); bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se desasignó una familia a un Usuario"); } } //PASO 3: Mensaje al usuario y volver atrás MessageBox.Show("Usuario modificado con éxito"); this.Close(); } else { MessageBox.Show("Debe completar todos los campos de la pestaña principal"); } }