/// <summary> /// Update new value to database /// </summary> /// <param name="langKey"></param> /// <param name="textKey"></param> private SlideInHelpDictionaryItem UpdateDictionaryToDb(string langKey, string textKey) { var values = textKey.Split(new[] { FrameworkConstants.LocalizeResourceSeperator }, StringSplitOptions.RemoveEmptyEntries); //Convert field to camel friendly text var defaultTitle = values.Last().CamelFriendly(); var existedSlideInHelpIds = Fetch(l => l.TextKey.Equals(textKey)).Select(l => l.LanguageId).ToList(); var languages = _languageRepository.Fetch(l => !existedSlideInHelpIds.Contains(l.Id)).ToList(); foreach (var language in languages) { var slideInHelp = new SlideInHelp { TextKey = textKey, LanguageId = language.Id, HelpTitle = defaultTitle, LocalHelpContent = string.Empty, Active = false }; Insert(slideInHelp); } RefreshDictionary(); var returnSlideInHelp = FetchFirst(s => s.TextKey.Equals(textKey) && s.Language.Key.Equals(langKey)); return(new SlideInHelpDictionaryItem(returnSlideInHelp)); }
public SlideInHelpManageModel(SlideInHelp slideInHelp) : this() { Id = slideInHelp.Id; TextKey = slideInHelp.TextKey; Title = slideInHelp.HelpTitle; Content = slideInHelp.LocalHelpContent; LanguageId = slideInHelp.LanguageId; }
public SlideInHelpModel(SlideInHelp slideInHelp) : base(slideInHelp) { Id = slideInHelp.Id; Language = slideInHelp.Language.Key; TextKey = slideInHelp.TextKey; HelpTitle = slideInHelp.HelpTitle; MasterHelpContent = slideInHelp.MasterHelpContent; LocalHelpContent = slideInHelp.LocalHelpContent; LocalVersion = slideInHelp.LocalVersion; MasterVersion = slideInHelp.MasterVersion; }
public SlideInHelpDictionaryItem(SlideInHelp slideInHelp) : this() { Id = slideInHelp.Id; Language = slideInHelp.Language.Key; TextKey = slideInHelp.TextKey; Key = ServiceHelper.BuildKey(slideInHelp.Language.Key, slideInHelp.TextKey); HelpTitle = slideInHelp.HelpTitle; MasterHelpContent = slideInHelp.MasterHelpContent; LocalHelpContent = slideInHelp.LocalHelpContent; LocalVersion = slideInHelp.LocalVersion; MasterVersion = slideInHelp.MasterVersion; Active = slideInHelp.Active; LastUpdate = slideInHelp.LastUpdate ?? slideInHelp.Created; }
public ResponseModel Update(SlideInHelp slideInHelp) { return(_slideInHelpRepository.Update(slideInHelp)); }
public ResponseModel Insert(SlideInHelp slideInHelp) { return(_slideInHelpRepository.Insert(slideInHelp)); }
internal ResponseModel Delete(SlideInHelp slideInHelp) { return(_slideInHelpRepository.Delete(slideInHelp)); }
public void Run(BackgroundTaskExecuteContext context) { var logger = HostContainer.GetInstance <ILogger>(); if (Interlocked.CompareExchange(ref _hasActiveTask, 1, 0) == 0) { try { logger.Info(string.Format("[{0}] Start slide in help updating task", EzCMSContants.SlideInHelpUpdatingTaskName)); var backgroundTaskService = HostContainer.GetInstance <IEzBackgroundTaskService>(); var task = backgroundTaskService.GetByType(GetType()); var lastRunningTime = task.LastRunningTime; // Update the background task last running time backgroundTaskService.UpdateLastRunningTimeTask(GetType()); var languageService = HostContainer.GetInstance <ILanguageService>(); var slideInHelpService = HostContainer.GetInstance <ISlideInHelpService>(); var siteSettingService = HostContainer.GetInstance <ISiteSettingService>(); var slideInHelpSetting = siteSettingService.LoadSetting <EzCMSHelpConfigurationSetting>(); if (!slideInHelpSetting.DisabledSlideInHelpService && !string.IsNullOrEmpty(slideInHelpSetting.HelpServiceUrl)) { var languages = languageService.GetAll().ToList(); var slideInHelps = WebUtilities.SendApiRequest <List <SlideInHelpResponseModel> >( slideInHelpSetting.HelpServiceUrl, slideInHelpSetting.AuthorizeCode, "api/Helps/LoadSlideInHelps", HttpMethod.Get, new RouteValueDictionary(new { lastUpdatingTime = lastRunningTime })); if (slideInHelps.Any()) { var currentSlideInHelps = slideInHelpService.GetAll().ToList(); foreach (var item in slideInHelps) { var slideInHelp = currentSlideInHelps.FirstOrDefault( s => s.Language.Key.Equals(item.Language) && s.TextKey.Equals(item.TextKey)); if (slideInHelp != null) { slideInHelp.HelpTitle = item.HelpTitle; slideInHelp.MasterHelpContent = item.HelpContent; slideInHelp.MasterVersion = item.Version; slideInHelpService.Update(slideInHelp); } else { var language = languages.FirstOrDefault(l => l.Key.Equals(item.Language)); if (language != null) { slideInHelp = new SlideInHelp { TextKey = item.TextKey, LanguageId = language.Id, LocalHelpContent = string.Empty, LocalVersion = 0, HelpTitle = item.HelpTitle, MasterHelpContent = item.HelpContent, MasterVersion = item.Version, }; slideInHelpService.Insert(slideInHelp); } } } slideInHelpService.RefreshDictionary(); } } } catch (Exception exception) { logger.Error(string.Format("[{0}]", EzCMSContants.SlideInHelpUpdatingTaskName), exception); } logger.Info(string.Format("[{0}] End slide in help updating task", EzCMSContants.SlideInHelpUpdatingTaskName)); Interlocked.Exchange(ref _hasActiveTask, 0); } }