Пример #1
0
        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");
            }
        }