private List<Funcionalidad> CargarFuncionalidadesAsignadas()
        {
            List<Funcionalidad> funcionalidades = new List<Funcionalidad>();

            foreach (DataRowView dr in chkListFuncionalidades.Items)
            {
                Funcionalidad oFuncionalidad = new Funcionalidad();
                oFuncionalidad.ID = Convert.ToInt32(dr[0]);
                oFuncionalidad.Descripcion = dr[1].ToString();
                funcionalidades.Add(oFuncionalidad);
            }

            return funcionalidades;
        }
예제 #2
0
        private void botonAgregar_Click(object sender, EventArgs e)
        {
            if(comboFuncionalidad.SelectedItem == null)
            {
                MessageBox.Show("Seleccione una funcionalidad antes de poder agegarla", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            Funcionalidad funcNueva = new Funcionalidad();
            funcNueva.Descripcion = (string) comboFuncionalidad.SelectedItem;
            funcNueva.matchFuncionalidadWithDescrp(funcionalidades);

            removerLista(lista_baja, funcNueva);
            lista_alta.Add(funcNueva);          

            comboFuncionalidad.Items.Add(funcNueva.Descripcion);
        }
예제 #3
0
        private void botonQuitar_Click(object sender, EventArgs e)
        {
            if(listBox.SelectedItem == null)
            {
                MessageBox.Show("Seleccione una funcionalidad antes de poder quitarla", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            string descripcion = (string)listBox.SelectedItem;
            Funcionalidad funcNueva = new Funcionalidad();
            funcNueva.Descripcion = descripcion;
            funcNueva.matchFuncionalidadWithDescrp(funcionalidades);

            removerLista(lista_alta, funcNueva);
            lista_baja.Add(funcNueva);

            for (int i = 0; i < listBox.Items.Count; i++)
            {
                if ((string)listBox.Items[i] == descripcion)
                {
                    listBox.Items.RemoveAt(i);
                    return;
                }
            }
        }
예제 #4
0
 private void removerLista(List<Funcionalidad> lista, Funcionalidad funcNueva)
 {
     foreach (Funcionalidad f in lista)
     {
         if (f.Id_funcionalidad == funcNueva.Id_funcionalidad)
         {
             lista.Remove(f);
             return;
         }
     }
 }
        public List <Rol> getByQuery(String nombreRol, KeyValuePair <String, Boolean> estado, Funcionalidad funcionalidad)
        {
            List <Rol> roles = new List <Rol>();
            String     query = "SELECT r.idRol FROM LOS_BORBOTONES.Rol r";

            //Consulta SIN FILTRO
            if (nombreRol.Equals("") && estado.Key == null && funcionalidad == null)
            {
                roles = this.getAll();
            }
            else
            {
                //Consulta CON FILTROS
                //PREPARO TODO PARA HACER LA CONSULTA
                String        connectionString = ConfigurationManager.AppSettings["BaseLocal"];
                SqlConnection sqlConnection    = new SqlConnection(connectionString);
                SqlCommand    sqlCommand       = new SqlCommand();
                SqlDataReader reader;
                sqlCommand.CommandType = CommandType.Text;
                sqlCommand.Connection  = sqlConnection;

                //Booleano que uso para armar bien la consulta
                Boolean primerCriterioWhere = true;

                //Consulta por FUNCIONALIDAD
                //Va primero porque el JOIN va antes que el WHERE
                if (funcionalidad != null)
                {
                    sqlCommand.Parameters.AddWithValue("@Funcionalidad", funcionalidad.getDescripcion());
                    query = query + " INNER JOIN LOS_BORBOTONES.Funcionalidad_X_Rol fxr ON r.idRol = fxr.idRol INNER JOIN LOS_BORBOTONES.Funcionalidad f ON f.idFuncionalidad = fxr.idFuncionalidad WHERE f.Descripcion = @Funcionalidad";
                    primerCriterioWhere = false;
                }

                //AGREGO FILTRO NOMBRE
                if (!nombreRol.Equals(""))
                {
                    if (primerCriterioWhere)
                    {
                        query = query + " WHERE r.Nombre LIKE @Nombre";
                        primerCriterioWhere = false;
                    }
                    else
                    {
                        query = query + " AND r.Nombre LIKE @Nombre";
                    }
                    sqlCommand.Parameters.AddWithValue("@Nombre", "%" + nombreRol + "%");
                }

                //AGREGO FILTRO ESTADO
                if (estado.Key != null)
                {
                    if (primerCriterioWhere)
                    {
                        query = query + " WHERE r.Activo = @Estado";
                        primerCriterioWhere = false;
                    }
                    else
                    {
                        query = query + " AND r.Activo = @Estado";
                    }
                    sqlCommand.Parameters.AddWithValue("@Estado", Convert.ToInt32(estado.Value));
                }

                //HAGO LA CONSULTA
                sqlCommand.CommandText = query;
                sqlConnection.Open();
                reader = sqlCommand.ExecuteReader();

                //ARMAR ROLES
                while (reader.Read())
                {
                    roles.Add(this.getById(reader.GetInt32(reader.GetOrdinal("idRol"))));
                }

                sqlConnection.Close();
            }

            return(roles);
        }
예제 #6
0
        public void delete(Rol rol, Funcionalidad fun)
        {
            QueryBuilder q = new QueryBuilder();

            connection.query <RolFuncionalidad>(q.build(), q.getParams());
        }
예제 #7
0
 public void insertar(Rol rol, Funcionalidad fun)
 {
     connection.update(INSERT_ROL_FUNCIONALIDAD, rol.id, fun.id);
 }
예제 #8
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            Funcionalidad obj;
            Funcionalidad objOrigen;

            List <Funcionalidad> lista;
            String mensaje = "";
            int    orden;

            if (_Accion.Value == "Nuevo")
            {
                obj = new Funcionalidad();
            }
            else
            {
                obj = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value));
            }



            obj.Clave       = txtClave.Text;
            obj.Descripcion = txtNombre.Text;


            lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == null).ToList();


            if (_ElId.Value == "")
            {
                obj.ParentId = null;
                obj.Nivel    = 1;
                obj.Orden    = 1;
            }
            else
            {
                if (_Accion.Value == "Nuevo")
                {
                    objOrigen = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value));

                    if (objOrigen.ParentId == null)   //estoy en la primera rama

                    {
                        if (_Tipo.Value == "Grupo") //agregando un registro del mismo nivel
                        {
                            obj.ParentId = null;
                            obj.Nivel    = 1;

                            lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == null).ToList();
                        }
                        else  //agregando un subnivel

                        {
                            obj.ParentId = objOrigen.Id;
                            obj.Nivel    = 2;

                            lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.Id).ToList();
                        }
                    }
                    else    // estoy en una segunda o tercera rama

                    {
                        if (_Tipo.Value == "Grupo")
                        {//agregando un registro del mismo nivel
                            obj.ParentId = objOrigen.ParentId;
                            obj.Nivel    = objOrigen.Nivel;

                            lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.ParentId).ToList();
                        }
                        else
                        {//agregando un subnivel
                            if (_Nivel.Value == "2")
                            {
                                obj.ParentId = objOrigen.Id;
                                obj.Nivel    = 3;

                                lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.Id).ToList();
                            }

                            if (_Nivel.Value == "3")
                            {
                                obj.ParentId = objOrigen.ParentId;
                                obj.Nivel    = 3;

                                lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.ParentId).ToList();
                            }
                        }
                    }

                    if (lista.Count == 0)
                    {
                        orden = 0;
                    }
                    else
                    {
                        orden = lista.Max(p => p.Orden);
                    }


                    orden++;
                    obj.Orden = orden;
                } //es nuevo
            }     //elId



            //validaciones
            uow.Errors.Clear();

            if (_Accion.Value == "Nuevo")
            {
                lista = uow.FuncionalidadBusinessLogic.Get(p => p.Clave == obj.Clave).ToList();
                if (lista.Count > 0)
                {
                    uow.Errors.Add("La Clave que capturo ya ha sido registrada anteriormente, verifique su información");
                }

                // En el catálogo de funcionalidades si es válido la existencia de descripciones repetidas

                //lista = uow.FuncionalidadBusinessLogic.Get(p => p.Descripcion == obj.Descripcion).ToList();
                //if (lista.Count > 0)
                //    uow.Errors.Add("La Descripción que capturo ya ha sido registrada anteriormente, verifique su información");

                uow.FuncionalidadBusinessLogic.Insert(obj);
                mensaje = "El registro se ha  almacenado correctamente";
            }
            else
            { //update
                int xid;

                xid = int.Parse(_ElId.Value);

                lista = uow.FuncionalidadBusinessLogic.Get(p => p.Id != xid && p.Clave == obj.Clave).ToList();
                if (lista.Count > 0)
                {
                    uow.Errors.Add("La Clave que capturo ya ha sido registrada anteriormente, verifique su información");
                }


                // En el catálogo de funcionalidades si es válido la existencia de descripciones repetidas

                //lista = uow.FuncionalidadBusinessLogic.Get(p => p.Id != xid && p.Descripcion == obj.Descripcion).ToList();
                //if (lista.Count > 0)
                //    uow.Errors.Add("La Descripción que capturo ya ha sido registrada anteriormente, verifique su información");

                uow.FuncionalidadBusinessLogic.Update(obj);
                mensaje = "Los cambios se registraron satisfactoriamente";
            }


            if (uow.Errors.Count == 0)
            {
                uow.SaveChanges();
            }


            if (uow.Errors.Count == 0)//Integrando el nuevo nodo en el arbol
            {
                TreeNode node = null;
                switch (_Accion.Value)
                {
                case "Nuevo":


                    if (_ElId.Value == "")
                    {
                        node       = new TreeNode();
                        node.Value = obj.Id.ToString();
                        node.Text  = obj.Clave + " " + obj.Descripcion;
                        treeMain.Nodes.Add(node);
                    }
                    else
                    {
                        objOrigen = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value));

                        node       = new TreeNode();
                        node.Value = obj.Id.ToString();
                        node.Text  = obj.Clave + " " + obj.Descripcion;

                        if (_Tipo.Value == "Grupo")    //registro
                        {
                            if (objOrigen.Nivel == 1)
                            {
                                treeMain.Nodes.Add(node);
                            }
                            else
                            {
                                treeMain.SelectedNode.Parent.ChildNodes.Add(node);
                            }
                        }
                        else                         //Subnivel
                        {
                            if (objOrigen.Nivel < 3) //nivel 1 y 2
                            {
                                treeMain.SelectedNode.ChildNodes.Add(node);
                            }
                            else    //nivel 3
                            {
                                treeMain.SelectedNode.Parent.ChildNodes.Add(node);
                            }
                        }
                    }    //elIde


                    BindControles(node);



                    break;

                case "Modificar":
                    node = treeMain.FindNode(_rutaNodoSeleccionado.Value);

                    node.Value = obj.Id.ToString();
                    node.Text  = obj.Clave + " " + obj.Descripcion;
                    BindControles(node);

                    break;
                }

                //Se ocultan los botones de GUARDAR Y CANCELAR del menu y Normalizar pantallas de datos y captura
                divcaptura.Style.Add("display", "none");
                divArbol.Style.Add("display", "block");

                btnMenuCancelar.Style.Add("display", "none");
                btnMenuGuardar.Style.Add("display", "none");


                //Se habiltan las opciones del menu contextual
                addp.Enabled  = true;
                addsp.Enabled = true;
                edit.Enabled  = true;

                //Se habilita el arbol
                treeMain.Enabled = true;


                //Mensaje de Se actualizo correctamente
                lblMensajeSuccess.Text = mensaje;
                divMsg.Style.Add("display", "none");
                divMsgSuccess.Style.Add("display", "block");
            }
            else
            {
                mensaje = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    mensaje = mensaje + cad + "<br>";
                }

                lblMensajes.Text = mensaje;
                divMsg.Style.Add("display", "block");
                divMsgSuccess.Style.Add("display", "none");

                divArbol.Style.Add("display", "none");
                divcaptura.Style.Add("display", "block");

                SpanModificar.Style.Add("display", "none");
                SpanGrupo.Style.Add("display", "none");
                SpanFondo.Style.Add("display", "none");

                if (_Accion.Value == "Nuevo")
                {
                    if (_Tipo.Value == "Grupo")
                    {
                        SpanGrupo.Style.Add("display", "block");
                    }
                    else
                    {
                        SpanFondo.Style.Add("display", "block");
                    }
                }
                else
                {
                    SpanModificar.Style.Add("display", "block");
                }
            }
        }
예제 #9
0
        //en el futuro debe recibir un rol
        private void AplicarSeguridad()
        {
            //if (!Usuario.IsAdmin())
            //{

            //btngrabar.Enable = false;

            //cmbproductos.Enable = false;

            //menuStrip1.Items.Remove(menuABMCliente);

            //menuStrip1.Items.Remove(menuABMEmpresa);

            //}


            DataTable     dt            = new DataTable();
            Funcionalidad funcionalidad = new Funcionalidad();

            dt = funcionalidad.GetFuncionalidadesPorUsuario(this.userLog.Id);
            DataTable dtFuncionalidades = new DataTable();

            DeshabilitarMenu();
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    if (row["menu"].ToString() == "menuRegistroUsuario")
                    {
                        menuStrip1.Items.Add(menuRegistroUsuario);
                    }
                    if (row["menu"].ToString() == "menuABMCliente")
                    {
                        menuStrip1.Items.Add(menuABMCliente);
                    }
                    if (row["menu"].ToString() == "menuABMEmpresa")
                    {
                        menuStrip1.Items.Add(menuABMEmpresa);
                    }
                    if (row["menu"].ToString() == "menuPublicacion")
                    {
                        menuStrip1.Items.Add(menuPublicacion);
                    }
                    if (row["menu"].ToString() == "menuComprar")
                    {
                        menuStrip1.Items.Add(menuComprar);
                    }
                    if (row["menu"].ToString() == "menuCliente")
                    {
                        menuStrip1.Items.Add(menuCliente);
                    }
                    if (row["menu"].ToString() == "menuEstadisticas")
                    {
                        menuStrip1.Items.Add(menuEstadisticas);
                    }
                    if (row["menu"].ToString() == "menuPagos")
                    {
                        menuStrip1.Items.Add(menuPagos);
                    }
                    if (row["menu"].ToString() == "aBMRolToolStripMenuItem")
                    {
                        menuStrip1.Items.Add(aBMRolToolStripMenuItem);
                    }
                    if (row["menu"].ToString() == "ABMGradoToolStripMenuItem")
                    {
                        menuStrip1.Items.Add(ABMGradoToolStripMenuItem);
                    }
                }
            }
            menuStrip1.Items.Add(salirToolStripMenuItem);
        }
예제 #10
0
        public static string ActualizarRolFuncionalidad(Rol rol, Funcionalidad funcionalidad)
        {
            DRol Objeto = new DRol();

            return(Objeto.ActualizarRolFuncionalidad(rol, funcionalidad));
        }
예제 #11
0
        public Usuario loginAs(string usuario, string password)
        {
            string query = "SELECT usua_id, usua_usuario, usua_n_intentos,rol_cod, rol_nombre " +
                           "FROM TheBigBangQuery.Usuario JOIN TheBigBangQuery.Roles_usuario ON (usua_id = rolu_usuario) " +
                           "JOIN TheBigBangQuery.Rol ON (rol.rol_cod = rolu_rol) " +
                           "WHERE usua_usuario = @usuario " +
                           "AND usua_password= [TheBigBangQuery].[getHashPassword](@password)";
            SqlDataReader reader = null;

            try
            {
                SqlCommand command = new SqlCommand(query);
                command.Parameters.AddWithValue("@usuario", usuario);
                command.Parameters.AddWithValue("@password", password);
                reader = DatabaseConection.executeQuery(command);
                Usuario user = null;

                if (reader.HasRows)
                {
                    user = new Usuario();
                    while (reader.Read())
                    {
                        user.id       = (int)reader.GetSqlDecimal(0);
                        user.usuario  = (string)reader.GetSqlString(1);
                        user.intentos = (int)reader.GetSqlInt32(2);

                        Rol rol = new Rol();
                        rol.id     = (int)reader.GetSqlDecimal(3);
                        rol.nombre = reader.GetSqlString(4).ToString();
                        user.roles.Add(rol);
                    }

                    reader.Close();
                    string query2 = "SELECT func_id, func_desc " +
                                    "FROM TheBigBangQuery.Funcionalidades_rol JOIN TheBigBangQuery.Funcionalidad ON (fpr_id = func_id) " +
                                    "WHERE fpr_rol = @rolId";
                    user.roles.ForEach(elem => {
                        SqlCommand funcCommand = new SqlCommand(query2);
                        funcCommand.Parameters.AddWithValue("@rolId", elem.id);

                        reader = DatabaseConection.executeQuery(funcCommand);
                        while (reader.Read())
                        {
                            Funcionalidad fun = new Funcionalidad();
                            fun.id            = (int)reader.GetSqlDecimal(0);
                            fun.descripcion   = reader.GetSqlString(1).ToString();
                            elem.funcionalidades.Add(fun);
                        }
                        reader.Close();
                    });
                }

                //if (reader.HasRows)
                //{
                //    user = new Usuario();
                //    reader.Read();
                //    user.id = (int)reader.GetSqlDecimal(0);
                //    user.usuario = (string)reader.GetSqlString(1);
                //    user.intentos = (int)reader.GetSqlInt32(2);

                //    Rol rol = new Rol();
                //    rol.id = (int)reader.GetSqlDecimal(3);
                //    rol.nombre = (string)reader.GetSqlString(4);

                //    Funcionalidad funcionalidad = new Funcionalidad();
                //    funcionalidad.id = (int)reader.GetSqlDecimal(5);
                //    funcionalidad.descripcion = (string)reader.GetSqlString(6);
                //    rol.agregarFuncionalidad(funcionalidad);

                //    while (reader.Read())
                //    {
                //        funcionalidad = new Funcionalidad();
                //        funcionalidad.id = (int)reader.GetSqlDecimal(5);
                //        funcionalidad.descripcion = (string)reader.GetSqlString(6);
                //        rol.agregarFuncionalidad(funcionalidad);
                //    }

                //    user.addRol(rol);
                //}
                return(user);
            }
            catch (Exception ex)
            {
                throw new DataNotFoundException("Error en el logue por favor intente mas tarde.");
            }
            finally {
                if (reader != null && !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
예제 #12
0
        private void SetMenuVisibilityByCurrentRole()
        {
            var administracion = false;
            var publicaciones  = false;
            var estadistico    = false;

            //Obtengo todas las funcionalidades asignadas al rol del usuario logueado
            foreach (var functionality in SessionManager.CurrentRol.Funcionalidades)
            {
                //Obtengo un objeto 'Funcionalidad' a partir de la descripción del rol (como aparece en la base)
                switch (Funcionalidad.GetByName(functionality.Descripcion))
                {
                case Funcionalidades.ABM_Rol:
                    administracionDeRolesToolStripMenuItem.Visible = true;
                    administracion = true;
                    break;

                case Funcionalidades.ABM_Cliente:
                    administracionDeClientesToolStripMenuItem.Visible = true;
                    administracion = true;
                    break;

                case Funcionalidades.ABM_Empresa:
                    administracionDeEmpresasToolStripMenuItem.Visible = true;
                    administracion = true;
                    break;

                case Funcionalidades.ABM_Usuario:
                    administracionDeUsuariosToolStripMenuItem.Visible = true;
                    administracion = true;
                    break;

                case Funcionalidades.ABM_Visibilidad:
                    administracionDeVisibilidadesToolStripMenuItem.Visible = true;
                    administracion = true;
                    break;

                case Funcionalidades.Generar_Publicacion:
                    generarPublicacionesToolStripMenuItem.Visible = true;
                    publicaciones = true;
                    break;

                case Funcionalidades.Editar_Publicacion:
                    editarMisPublicacionesToolStripMenuItem.Visible = true;
                    publicaciones = true;
                    break;

                case Funcionalidades.Gestion_Preguntas:
                    responderPreguntasToolStripMenuItem.Visible = true;
                    publicaciones = true;
                    break;

                case Funcionalidades.Comprar_Ofertar:
                    comprarOfertarToolStripMenuItem.Visible = true;
                    publicaciones = true;
                    break;

                case Funcionalidades.Historial_Cliente:
                    historialClienteToolStripMenuItem.Visible = true;
                    estadistico = true;
                    break;

                case Funcionalidades.Calificar_Vendedor:
                    calificarVendedorToolStripMenuItem.Visible = true;
                    publicaciones = true;
                    break;

                case Funcionalidades.Facturar_Publicaciones:
                    facturarPublicacionesToolStripMenuItem.Visible = true;
                    publicaciones = true;
                    break;

                case Funcionalidades.Listado_Estadistico:
                    listadoEstadisticoToolStripMenuItem.Visible = true;
                    estadistico = true;
                    break;
                }
            }

            //Si no posee ninguna funcionalidad de administración borro el menu item
            if (!administracion)
            {
                MsHome.Items.Remove(administracionToolStripMenuItem);
            }

            //Si no posee ninguna funcionalidad relacionadas con publicaciones borro el menu item
            if (!publicaciones)
            {
                MsHome.Items.Remove(publicacionesToolStripMenuItem);
            }

            //Si no posee ninguna funcionalidad de estadistica borro el menu item
            if (!estadistico)
            {
                MsHome.Items.Remove(estadisticasToolStripMenuItem);
            }
        }
예제 #13
0
 private bool esProveedorInhabilitadoCrearOfertas(Funcionalidad funcionalidad)
 {
     return(!(funcionalidad.id == 8 && Utils.UsuarioUtil.Usuario.tipoUsuario == TipoUsuario.PROVEEDOR && !Utils.UsuarioUtil.Usuario.habilitado));
 }
예제 #14
0
        private void Modificar_Rol()
        {
            DbResultSet rs;
            bool        error_flag     = false;
            int         rol_Habilitado = 0;

            if (this.checkBox_ActiveRol.Checked)
            {
                rol_Habilitado = 1;
            }


            string query_str = "UPDATE ENER_LAND.Rol " +
                               "SET Descripcion = " + single_quote + this.textBox_RolName.Text.Trim() + single_quote + ", " +
                               "Habilitado = " + rol_Habilitado.ToString().Trim() + " " +
                               "WHERE idRol = " + Rol_Id.ToString();

            rs = DbManager.dbSqlStatementExec(query_str);
            if (rs.operationState == 1 && !error_flag)
            {
                MessageBox.Show("Falló el renombrado del Rol");
                error_flag = true;
                return;
            }

            query_str = "DELETE FROM ENER_LAND.Rol_Funcionalidad " +
                        "WHERE idRol = " + Rol_Id.ToString();

            rs = DbManager.dbSqlStatementExec(query_str);
            if (rs.operationState == 1 && !error_flag)
            {
                MessageBox.Show("Falló el la eliminación de funcionalidades asociadas a un rol");
                error_flag = true;
                return;
            }

            if (!error_flag)
            {
                foreach (var Funcionalidad in this.checkedListBox_Funcionalidades.CheckedItems)
                {
                    DataRow[] Rows = TablaFuncionalidades.Select("Descripcion = '" + Funcionalidad.ToString().Trim() + "'");
                    if (Rows.Length > 0)
                    {
                        int IdFuncionalidad = Convert.ToInt32(Rows[0][0].ToString().Trim());
                        if (!DbManager.Agregar_Funcionalidad(Rol_Id, IdFuncionalidad))
                        {
                            error_flag = true;
                        }
                    }
                }

                if (error_flag)
                {
                    query_str = "DELETE FROM ENER_LAND.Rol_Funcionalidad WHERE idRol = " + Rol_Id.ToString();
                    DbResultSet unResultSet = DbManager.dbSqlStatementExec(query_str);
                    if (unResultSet.operationState == 1)
                    {
                        MessageBox.Show("No se pudo borrar el Rol creado previamente. Falla en la BD");
                    }
                }
            }
        }
예제 #15
0
        public void InsertarFuncionalidad(int rolID, Funcionalidad oFuncionalidad)
        {
            SqlConnection oConnection = null;
            SqlCommand oCommand = null;
            SqlParameter[] arrParms = null;

            try
            {
                //Abro conexión
                oConnection = this.Conectar();

                //Creo y configuro el comando asociado a la conexión
                oCommand = oConnection.CreateCommand();
                oCommand.CommandType = CommandType.Text;
                oCommand.CommandText = SQL_INSERT_FUNCIONALIDAD;

                arrParms = new SqlParameter[2];

                arrParms[0] = new SqlParameter("@pi_Rol_ID", SqlDbType.Int);
                arrParms[0].Direction = ParameterDirection.Input;
                arrParms[0].Value = rolID;

                arrParms[1] = new SqlParameter("@pi_Funcionalidad_ID", SqlDbType.Int);
                arrParms[1].Direction = ParameterDirection.Input;
                arrParms[1].Value = oFuncionalidad.ID;

                //Asigno parámetros al comando
                this.AgregarParametros(ref oCommand, ref arrParms);

                //Ejecuto el comando
                oCommand.ExecuteScalar();

            }
            catch (SqlException ex)
            {
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                //Cierro conexión
                this.Desconectar(ref oConnection);

                //Libero recursos
                this.LiberarSQLConnection(ref oConnection);
                this.LiberarSQLCommand(ref oCommand);
            }
        }
예제 #16
0
 private void inicializarDataGridView()
 {
     funcionalidadesDisponibles = Funcionalidad.getFuncionalidades();
     dgFuncionalidadesDisponibles.DataSource          = funcionalidadesDisponibles;
     dgFuncionalidadesDisponibles.AutoGenerateColumns = true;
 }
예제 #17
0
        public List<Rol> ObtenerRolesUsuario(int usuarioID)
        {
            SqlConnection oConnection = null;
            SqlCommand oCommand = null;
            SqlParameter[] arrParms = null;
            SqlDataReader oDataReader = null;
            List<Rol> rolesUsuario = new List<Rol>();

            try
            {
                oConnection = this.Conectar();

                //Preparo el comando asociado a la conexion
                oCommand = oConnection.CreateCommand();
                oCommand.CommandType = CommandType.Text;
                oCommand.CommandText = SQL_SELECT_ROLES_USUARIO;

                arrParms = new SqlParameter[1];

                arrParms[0] = new SqlParameter("@pi_Usuario_ID", SqlDbType.Int);
                arrParms[0].Direction = ParameterDirection.Input;
                arrParms[0].Value = usuarioID;

                AgregarParametros(ref oCommand, ref arrParms);

                //Ejecuto el comando
                oDataReader = oCommand.ExecuteReader();

                int rolAnterior = 0;
                //Mientras tengas filas avanza

                Rol oRol = null;
                while (oDataReader.Read())
                {
                    if (Convert.ToInt32(oDataReader["Rol_ID"]) != rolAnterior)
                    {
                        rolAnterior = Convert.ToInt32(oDataReader["Rol_ID"]);
                        oRol = new Rol();
                        oRol.ID = rolAnterior;
                        oRol.Estado = Convert.ToBoolean(oDataReader["Rol_Estado"]);
                        oRol.Descripcion = Convert.ToString(oDataReader["Rol_Nombre"]);
                        rolesUsuario.Add(oRol);
                    }

                    Funcionalidad nuevaFuncionalidad = new Funcionalidad();
                    nuevaFuncionalidad.ID = Convert.ToInt32(oDataReader["Funcionalidad_ID"]);
                    nuevaFuncionalidad.Descripcion = Convert.ToString(oDataReader["Funcionalidad_Nombre"]);
                    oRol.AgregarFuncionalidad(nuevaFuncionalidad);
                }
            }
            catch (SqlException ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                //Cierro la conexion
                this.Desconectar(ref oConnection);

                //Libero los recursos
                this.LiberarSQLConnection(ref oConnection);
                this.LiberarSQLCommand(ref oCommand);
            }

            return rolesUsuario;
        }
예제 #18
0
        protected void btnDel_Click(object sender, EventArgs e)
        {
            if (_ElId.Value == "")
            {
                return;
            }

            Funcionalidad obj = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value));



            uow.Errors.Clear();
            List <POADetalle> lista;

            lista = uow.POADetalleBusinessLogic.Get(p => p.FuncionalidadId == obj.Id).ToList();

            List <Obra> listaObra;

            listaObra = uow.ObraBusinessLogic.Get(p => p.FuncionalidadId == obj.Id).ToList();

            List <Funcionalidad> listaParent;

            listaParent = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == obj.Id).ToList();


            if (lista.Count > 0)
            {
                uow.Errors.Add("El registro no puede eliminarse porque ya ha sido usado en el sistema");
            }

            if (listaObra.Count > 0)
            {
                uow.Errors.Add("El registro no puede eliminarse porque ya ha sido usado en el sistema");
            }

            if (listaParent.Count > 0)
            {
                uow.Errors.Add("El registro no puede eliminarse porque ya ha sido usado en el sistema");
            }

            //Se elimina el objeto
            if (uow.Errors.Count == 0)
            {
                uow.FuncionalidadBusinessLogic.Delete(obj);
                uow.SaveChanges();
            }



            if (uow.Errors.Count == 0)
            {
                //Se vuelve a RECONSTRUIR el ARBOL
                CargarArbol();

                //Se bindea el primer fondo, si existe
                if (treeMain.Nodes.Count > 0)
                {
                    BindControles(treeMain.Nodes[0]);
                }
                else
                {
                    BindControles(null);
                    ClientScript.RegisterStartupScript(this.GetType(), "script", "fnc_CargaInicial()", true);
                }

                lblMensajeSuccess.Text = "El registro se ha eliminado correctamente";
                divMsg.Style.Add("display", "none");
                divMsgSuccess.Style.Add("display", "block");
            }

            else
            {
                string mensaje;

                mensaje = string.Empty;
                foreach (string cad in uow.Errors)
                {
                    mensaje = mensaje + cad + "<br>";
                }

                lblMensajes.Text = mensaje;
                divMsg.Style.Add("display", "block");
                divMsgSuccess.Style.Add("display", "none");
            }
        }