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); }