private void Button5_Click(object sender, EventArgs e) { //validar datos de registro fnValidarNuevoUsername if (textboxContraseña.Visible && textboxUsuario.Visible && !verificarTodosLosCamposNoVacios()) { MessageBox.Show("Parece que hay campos que no estan completos"); return; } if (textboxContraseña.Visible && textboxUsuario.Visible && !UsuarioDAO.validarNuevoUsername(textboxUsuario.Text)) { MessageBox.Show("El nombre de usuario ya existe"); foreach (TextBox txb in this.Controls.OfType <TextBox>()) { txb.Text = ""; } return; } if (!DBConnection.esRolHabilitado((string)comboBoxTipoDeUsuario.SelectedItem)) { MessageBox.Show("Rol deshabilitado. Ponerse en contacto con administrador"); return; } Usuario nuevo_usuario; if (deDondeViene != 4) { nuevo_usuario = new Usuario(textboxUsuario.Text, textboxContraseña.Text); } else { nuevo_usuario = new Usuario(comboBox1.SelectedItem.ToString()); UsuarioDAO.cargarRolesUsuario(nuevo_usuario); } if ((string)comboBoxTipoDeUsuario.SelectedItem == "Cliente") { if (nuevo_usuario.roles.Any(rol => DBConnection.isCliente(rol))) { MessageBox.Show("Ya tienes asociado este rol"); return; } ; if (deDondeViene == 4 && ClienteDAO.asignarCliente(nuevo_usuario) == 0) { MessageBox.Show("rol cliente asignado a usuario correctamente"); UsuarioDAO.cargarRolesUsuario(usuarioActivo); return; } RegistroDeCliente registroCliente = new RegistroDeCliente(nuevo_usuario, usuarioActivo, deDondeViene); registroCliente.Show(); this.Hide(); } else if ((string)comboBoxTipoDeUsuario.SelectedItem == "Proveedor") { if (nuevo_usuario.roles.Any(rol => DBConnection.isProveedor(rol))) { MessageBox.Show("Ya tienes asociado este rol"); return; } if (deDondeViene == 4 && ProveedorDAO.asignarProveedor(nuevo_usuario) == 0) { MessageBox.Show("rol proveedor asignado a usuario correctamente"); UsuarioDAO.cargarRolesUsuario(usuarioActivo); return; } RegistroDeProveedores registroProveedor = new RegistroDeProveedores(usuarioActivo, nuevo_usuario, deDondeViene); registroProveedor.Show(); this.Hide(); } }
private void MenuAdministrador_Load(object sender, EventArgs e) { UsuarioDAO.cargarRolesUsuario(usuario); foreach (Button button in this.Controls.OfType <Button>()) { button.Visible = false; } label_credito.Visible = false; var texto_roles = new System.Text.StringBuilder(); if (usuario.roles.Count == 1) { texto_roles.AppendLine("Tiene activado el rol: "); } else { texto_roles.AppendLine("Tiene activado los roles: "); } // Cargamos los botones con funcionalidades segun rol foreach (Rol rol in usuario.roles) { texto_roles.AppendLine(" " + rol.nombre); DBConnection.asociar_roles_x_funciones(rol); if (rol.funcionalidades.Exists(f => f.nombre.Contains("Comprar"))) { label_credito.Visible = true; buttonCupones.Visible = true; label_credito.Text = "Su crédito es: \n" + ClienteDAO.montoUsuario(usuario).ToString(); } if (DBConnection.isAdmin(rol)) { button4.Visible = true; button12.Visible = true; button13.Visible = true; } if (DBConnection.isCliente(rol) && !ClienteDAO.esClienteHabilitado(usuario)) { button9.Enabled = false; button10.Enabled = false; MessageBox.Show("Tus funcionalidades como cliente estan restringidas. Si es un error, ponerse en contacto con un administrador"); } if (DBConnection.isProveedor(rol) && !ProveedorDAO.esProveedorHabilitado(usuario)) { button5.Enabled = false; MessageBox.Show("Tus funcionalidades como proveedor estan restringidas. Si es un error, ponerse en contacto con un administrador"); } foreach (Funcionalidad f in rol.funcionalidades) { foreach (Button button in this.Controls.OfType <Button>()) { //Si hay alguna funcionalidad que coincide con un buton button.Name = button.Text; if (button.Name == f.nombre) { button.Visible = true; } } } } //Funciones disponibles independientemente de los roles btn_cerrarsesion.Visible = true; label3.Text = "Su usuario es: \n" + usuario.username; labelroles.Text = texto_roles.ToString(); //cambiar contrasenia y agregar roles button8.Visible = true; }