public void editar_rol(long identity, string description, List<string> grants, List<string> revokes, long nuevoCentro)
{
try
{
var rolQuery = from rol in entidad.roles
where rol.id == identity
select rol;
DataAccess.role rolTMP = rolQuery.First();
rolTMP.descripcion = description;
rolTMP.centro = nuevoCentro;
foreach (string perm in grants)
{
var permisoQuery = from per in entidad.permisos
where per.id == perm
select per;
rolTMP.permisos.Add(permisoQuery.First());
}
foreach (string perm in revokes)
{
var permisoQuery = from per in entidad.permisos
where per.id == perm
select per;
rolTMP.permisos.Remove(permisoQuery.First());
}
entidad.SaveChanges();
}
catch (Exception e)
{
throw new Exception(e.ToString() + " --Security.cs / editar_rol()");
}
}