public void crear_rol(string descripcion, List<string> licences, long centro)
{
try
{
DataAccess.role rolNuevo = new role();//creacion de rol
rolNuevo.descripcion = descripcion;
rolNuevo.centro = centro;
entidad.roles.AddObject(rolNuevo);//agregar el rol nuevo al contexto
entidad.SaveChanges();//commit1
foreach (string permisoCod in licences)
{
var permisoQuery = from per in entidad.permisos
where per.id == permisoCod
select per;
DataAccess.permiso permisoTMP = permisoQuery.First();
rolNuevo.permisos.Add(permisoTMP);//ya que el permisos en roles es un collection, agregamos cada permiso utilizando el id que viene en la lista
}
entidad.SaveChanges();//commit2 --> 2 commits por el autoincrement del rol.id!!
}
catch (Exception e)
{
throw new Exception(e.ToString() + " --Security.cs / crear_rol()");
}
}