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); } }
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); } }
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); }