public async Task <string> CreateAsync(ScopeParam model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            var entity = await _manager.FindByNameAsync(model.Name);

            if (entity == null)
            {
                // create new entity
                var newEntity = new OpenIddictEntityFrameworkCoreScope
                {
                    Name        = model.Name,
                    DisplayName = model.DisplayName,
                    Description = model.Description
                };

                HandleCustomProperties(model, newEntity);

                await _manager.CreateAsync(newEntity);

                return(newEntity.Id);
            }

            // update existing entity
            model.Id = entity.Id;
            await UpdateAsync(model);

            return(entity.Id);
        }