BL.Security.crear_rol C# (CSharp) Method

crear_rol() public method

public crear_rol ( string descripcion, List licences, long centro ) : void
descripcion string
licences List
centro long
return void
        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()");
            }
        }