public JsonNetResult GetThemes()
        {
            List <ThemeModel> themes = null;

            #region From Redis

            IDatabase platformCache       = CoreServices.RedisConnectionMultiplexers.RedisMultiplexer.GetDatabase();
            string    themesHashMainKey   = "themes";
            string    themesHashMainField = "list";

            try
            {
                var themesRedis = platformCache.HashGet(themesHashMainKey, themesHashMainField);

                if (themesRedis.HasValue)
                {
                    themes = JsonConvert.DeserializeObject <List <ThemeModel> >(themesRedis);
                }
            }
            catch
            {
            }

            #endregion

            #region From WCF

            if (themes == null)
            {
                var accountManagementServiceClient = new AccountManagementService.AccountManagementServiceClient();

                try
                {
                    accountManagementServiceClient.Open();

                    themes = accountManagementServiceClient.GetThemes(Common.SharedClientKey).ToList();

                    WCFManager.CloseConnection(accountManagementServiceClient);
                }
                catch (Exception e)
                {
                    #region Manage Exception

                    string exceptionMessage = e.Message.ToString();

                    var    currentMethod       = System.Reflection.MethodBase.GetCurrentMethod();
                    string currentMethodString = currentMethod.DeclaringType.FullName + "." + currentMethod.Name;

                    // Abort the connection & manage the exception
                    WCFManager.CloseConnection(accountManagementServiceClient, exceptionMessage, currentMethodString);

                    #endregion
                }
            }

            #endregion

            JsonNetResult jsonNetResult = new JsonNetResult();
            jsonNetResult.Formatting = Formatting.Indented;
            jsonNetResult.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Local; //<-- Convert UTC times to LocalTime
            jsonNetResult.Data = themes;

            return(jsonNetResult);
        }