예제 #1
0
        public void quitarPatente(Familia familia, Patente patente)
        {
            try
            {
                string query = "DELETE FROM FAMILIA_PATENTE WHERE id_familia = @id_familia AND id_patente = @id_patente";

                Dictionary <string, object> paramList = new Dictionary <string, object>();
                paramList.Add("@id_familia", familia.Id);
                paramList.Add("@id_patente", patente.Id);

                sqlHelper.ExecuteQueryWithParams(query, paramList);
            }
            catch (ProEasyException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new ProEasyException(1, ex.Message);
            }
        }
예제 #2
0
        public void asignarPatente(Familia familia, Patente patente, string dvh)
        {
            try
            {
                string query = "INSERT INTO FAMILIA_PATENTE (id_familia,id_patente,dvh) VALUES (@id_familia,@id_patente,@dvh)";

                Dictionary <string, object> paramList = new Dictionary <string, object>();
                paramList.Add("@id_familia", familia.Id);
                paramList.Add("@id_patente", patente.Id);
                paramList.Add("@dvh", dvh);

                sqlHelper.ExecuteQueryWithParams(query, paramList);
            }
            catch (ProEasyException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new ProEasyException(1, ex.Message);
            }
        }
예제 #3
0
        public List <Componente> Listar(string familia)
        {
            Abrir();
            var where = "is NULL";

            if (!String.IsNullOrEmpty(familia))
            {
                where = familia;
            }

            var consulta = $@"with recursivo as (
                        select sp2.Id_padre, sp2.Id_hijo  from PermisoPermiso SP2
                        where sp2.Id_padre {where} --acá se va variando la familia que busco
                        UNION ALL 
                        select sp.Id_padre, sp.Id_hijo from PermisoPermiso sp 
                        inner join recursivo r on r.Id_hijo= sp.Id_padre
                        )
                        select r.Id_padre,r.Id_hijo,p.Id_permiso,p.Nombre, p.Tipo
                        from recursivo r 
                        inner join permiso p on r.Id_hijo = p.Id_permiso 
						
                        ";

            var reader = acceso.Read(consulta);

            var lista = new List <Componente>();

            while (reader.Read())
            {
                int id_padre = 0;
                if (reader["Id_padre"] != DBNull.Value)
                {
                    id_padre = reader.GetInt32(reader.GetOrdinal("Id_padre"));
                }

                var id      = reader.GetInt32(reader.GetOrdinal("Id_permiso"));
                var nombre  = reader.GetString(reader.GetOrdinal("Nombre"));
                var patente = reader.GetString(reader.GetOrdinal("Tipo"));


                Componente c;

                if (patente == "familia")
                {
                    c = new Familia();
                }
                else
                {
                    c = new Patente();
                }

                c.ID     = id;
                c.Nombre = nombre;

                var padre = GetComponent(id_padre, lista);

                if (padre == null)
                {
                    lista.Add(c);
                }
                else
                {
                    padre.AgregarHijos(c);
                }
            }
            Cerrar();
            return(lista);
        }