// **************************************
        // CreateCatalog
        // **************************************
        public static int CreateCatalog(Catalog catalog)
        {
            using (var ctx = new SongSearchContext()) {
                var cat = ctx.GetCatalog(catalog.CatalogName);
                var user = Account.User();

                if (cat == null) {

                    cat = new Catalog { CatalogName = catalog.CatalogName };
                    ctx.Catalogs.AddObject(cat);

                    ctx.SaveChanges();

                    UserManagementService.UpdateUserCatalogRole(user.UserId, cat.CatalogId, (int)Roles.Admin);

                } else if (!user.IsAtLeastInCatalogRole(Roles.Admin, cat.CatalogId)) {
                    throw new AccessViolationException("You do not have admin rights to this catalog");
                }

                return cat.CatalogId;
            }
        }