Beispiel #1
0
        public async Task <IActionResult> TinifySettings()
        {
            var model = new TinifySettingsViewModel
            {
                Enable        = bool.Parse(await _settingsHelper.Get(Settings.EnableTinifyCompress)),
                StatusMessage = StatusMessage
            };

            if (!model.Enable)
            {
                return(View(model));
            }

            var tinifyKey = await(_settingsHelper.Get(Settings.TinifyApiKey));
            var tinify    = new Tinify(tinifyKey);

            try
            {
                await tinify.ValidateKey();

                model.ApiKeyValid = true;
            }
            catch
            {
                model.ApiKeyValid = false;
            }

            model.CompressedCount = await tinify.GetCompressionCount();

            model.ApiKey = await _settingsHelper.Get(Settings.TinifyApiKey);

            return(View(model));
        }
Beispiel #2
0
        public async Task <IActionResult> TinifySettings(TinifySettingsViewModel model)
        {
            if (model.Enable && string.IsNullOrEmpty(model.ApiKey))
            {
                StatusMessage = "API Key can't be empty";
                return(RedirectToAction(nameof(TinifySettings)));
            }

            await _settingsHelper.Write(Settings.EnableTinifyCompress, model.Enable.ToString());

            if (model.Enable)
            {
                await _settingsHelper.Write(Settings.TinifyApiKey, model.ApiKey);
            }
            else
            {
                try
                {
                    _settingsHelper.Delete(Settings.TinifyApiKey);
                }
                catch
                {
                    // ignored
                }
            }
            StatusMessage = "Changes saved";

            return(RedirectToAction(nameof(TinifySettings)));
        }