public Task <IEnumerable <ValidationResult> > ValidateSettingsAsync(FacebookCoreSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            var results = new List <ValidationResult>();

            if (string.IsNullOrEmpty(settings.AppId))
            {
                results.Add(new ValidationResult(T["The AppId is required."], new[]
                {
                    nameof(settings.AppId)
                }));
            }

            if (string.IsNullOrEmpty(settings.AppSecret))
            {
                results.Add(new ValidationResult(T["The App Secret is required."], new[]
                {
                    nameof(settings.AppSecret)
                }));
            }

            return(Task.FromResult <IEnumerable <ValidationResult> >(results));
        }
        public async Task UpdateSettingsAsync(FacebookCoreSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            var container = await _siteService.GetSiteSettingsAsync();

            container.Properties[nameof(FacebookCoreSettings)] = JObject.FromObject(settings);
            await _siteService.UpdateSiteSettingsAsync(container);
        }