private bool IsReadyToUse(ClearCacheInfo model)
        {
            if (model == null)
            {
                return(false);
            }

            return(!string.IsNullOrEmpty(model.Config.ApiToken) &&
                   !string.IsNullOrEmpty(model.Config.Email) &&
                   !string.IsNullOrEmpty(model.Config.ZoneID));
        }
        public ActionResult Index(ClearCacheInfo model)
        {
            try
            {
                if (model.Config == null)
                {
                    model.Config = ModuleSettings;
                }

                ViewBag.ReadyToUse = IsReadyToUse(model);

                if (!ViewBag.ReadyToUse)
                {
                    ViewBag.Status = "failure";
                }
                else
                {
                    var originalStatus = GetPortalSetting(PortalSettings.PortalId);

                    var ctlCf  = new CloudFlareController();
                    var result = ctlCf.PurgeCache(ModuleSettings, PortalSettings.PortalId);

                    var currentStatus = GetPortalSetting(PortalSettings.PortalId);

                    //if (originalStatus.LastModifiedOnDate != currentStatus.LastModifiedOnDate)
                    if (result)
                    {
                        ViewBag.Status = string.Equals(currentStatus.SettingValue, "true", StringComparison.OrdinalIgnoreCase) ? "success" : "failure";
                    }
                    else
                    {
                        ViewBag.Status = "failure";
                    }
                }
            }
            catch (Exception e)
            {
                LogError(e);
                throw;
            }

            return(View(model));
        }
        public ActionResult Index()
        {
            DotNetNuke.Framework.JavaScriptLibraries.JavaScript.RequestRegistration(CommonJs.jQuery);

            var model = new ClearCacheInfo();

            try
            {
                ViewBag.ReadyToUse = false;

                model.Config = ModuleSettings;

                if (IsReadyToUse(model))
                {
                    model.Action       = ActionType.ClearCache;
                    ViewBag.ReadyToUse = true;
                }

                var url = PortalSettings.PortalAlias.HTTPAlias;
                if (Request.IsSecureConnection)
                {
                    url = string.Concat("https://", url);
                }
                else
                {
                    url = string.Concat("http://", url);
                }

                model.UrlPattern = url;
            }
            catch (Exception e)
            {
                LogError(e);
                throw;
            }

            return(View(model));
        }