/// <summary> /// Get Countries by region /// </summary> /// <param name="regionID"></param> /// <param name="languageID"></param> /// <returns></returns> public static List <Country_Language> GetCountriesByRegion(Guid regionID, Guid languageID) { List <Country> countries = new List <Country>(); List <Country_Language> countryLanguages = new List <Country_Language>(); var cacheProvider = CacheFactory.Get(); if (!cacheProvider.Exists(CacheKeys.CACHE_COUNTRIES)) { using (var context = new TSMContext()) { countries = context.Countries.Include("Country_Languages").Include("Regions").Where(c => c.IsActive && !c.IsDeleted.Value).ToList(); } cacheProvider.Add <List <Country> >(countries, CacheKeys.CACHE_COUNTRIES, SiteConstants.CacheDuration); } else { countries = cacheProvider.Get <List <Country> >(CacheKeys.CACHE_COUNTRIES); } if (regionID == null) { //countries = countries.Where(c => c.Regions.Any(r => r.ID == regionID)).ToList(); countryLanguages = GetCountryLanguages(languageID, countries); } else { //Filter by region countries = countries.Where(c => c.Regions.Any(r => r.ID == regionID)).ToList(); countryLanguages = GetCountryLanguages(languageID, countries); } return(countryLanguages); }
/// <summary> /// home page load pie chart /// </summary> private void PopulatePieChart() { Guid documentTypeVariableID = new Guid(AppSettingsUtility.GetString(AppSettingsKeys.DocumentTypeVariableID)); var cacheProvider = CacheFactory.Get(); if (!cacheProvider.Exists(CacheKeys.CACHE_HOME_PIE_CHART)) { List <PieChartModel> pieChartData = new List <PieChartModel>(); var regionLanguages = ChartService.GetRecordsInRegion(TSMContext.CurrentSiteLanguageID); foreach (var regionLanguage in regionLanguages) { pieChartData.Add(new PieChartModel { name = regionLanguage.Name, y = regionLanguage.RecordCount }); } JavaScriptSerializer serializer = new JavaScriptSerializer(); string jsonData = serializer.Serialize(pieChartData); this.PieChartItems = jsonData; //Add in cache cacheProvider.Add <string>(this.PieChartItems, CacheKeys.CACHE_HOME_PIE_CHART, SiteConstants.CacheDuration); } else { this.PieChartItems = cacheProvider.Get <string>(CacheKeys.CACHE_HOME_PIE_CHART); } }
/// <summary> /// News Item List /// </summary> public List <Content> NewsList() { //Guid NewsUpdateID = new Guid(AppSettingsUtility.GetString(AppSettingsKeys.NewsUpdateID)); //Populate NewsList contents & right section contents var cacheProvider = CacheFactory.Get(); if (!cacheProvider.Exists(CacheKeys.CACHE_INDEX_NEWS_RECORD_ITEM)) { List <Content> lstContent = TSM.Service.ContentService.GetContentsbyType(ContentType.News).OrderBy(c => c.CreatedDate).Where(c => c.Content_Languages.Count > 0).ToList(); if (lstContent.Count > 0) { foreach (var item in lstContent) { Guid newGuid; Guid.TryParse(item.RecordID.ToString(), out newGuid); try { item.URL = GetRecordUrl(newGuid); } catch { } } cacheProvider.Add <List <Content> >(lstContent, CacheKeys.CACHE_INDEX_NEWS_RECORD_ITEM, SiteConstants.CacheDuration); return(lstContent); } else { return(new List <Content>()); } } else { List <Content> lstContent = cacheProvider.Get <List <Content> >(CacheKeys.CACHE_INDEX_NEWS_RECORD_ITEM); return(lstContent); } }
public JsonResult DeleteRecord(Guid id) { string message = "Sucess! Deleted successfully"; bool isDeleted = true; try { ManageRecordModel model = new ManageRecordModel(); model.Delete(id); var cacheProvider = CacheFactory.Get(); cacheProvider.ClearCache(CacheKeys.CACHE_RECORDS); cacheProvider.ClearCache(CacheKeys.CACHE_HOME_PIE_CHART); cacheProvider.ClearCache(CacheKeys.CACHE_HOME_LINE_CHART_ITEM); cacheProvider.ClearCache(CacheKeys.CACHE_HOME_LINE_CHART_CATEGORY); cacheProvider.ClearCache(CacheKeys.CACHE_RECORD_DATA); } catch (Exception ex) { ErrorLog.WriteLog("RecordController", "delete-record", ex, id.ToString()); message = "Failure! Unable to delete"; isDeleted = false; } return(this.Json(new { message = message, isDeleted = isDeleted }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Delete News (Is active is set false) /// </summary> /// <param name="id"></param> /// <returns></returns> public JsonResult DeleteNewsContent(Guid id) { bool isDeleted = true; string message = HttpContext.GetGlobalResourceObject("ResourceTSM", "NewsDeleteSucess").ToString(); try { ManageNewsModel model = new ManageNewsModel(); model.Delete(id, model); var cacheProvider = CacheFactory.Get(); cacheProvider.ClearCache(CacheKeys.CACHE_INDEX_NEWS_RECORD_ITEM); if (model.NewsContent == null) { isDeleted = false; message = HttpContext.GetGlobalResourceObject("ResourceTSM", "NewsDeleteFailure").ToString(); } } catch (Exception ex) { isDeleted = false; message = HttpContext.GetGlobalResourceObject("ResourceTSM", "NewsDeleteFailure").ToString(); ErrorLog.WriteLog("AdminController", "DeleteNewsContent", ex, id.ToString()); } // if(objAddNoteModel.AddEditNoteContent(objAddNoteModel)) return(this.Json(new { isDeleted = isDeleted, message = message }, JsonRequestBehavior.AllowGet)); }
public JsonResult SaveDisplayOrder(Dictionary <string, string> stepsDictionary) { string message = "Sucess! Reorder successfully"; bool isModified = true; try { if (stepsDictionary != null) { ManageVariableModel model = new ManageVariableModel(); model.UpdateOrder(stepsDictionary); message = "Sucess! Reorder successful"; var cacheProvider = CacheFactory.Get(); cacheProvider.ClearCache(CacheKeys.CACHE_VARIABLES); } else { message = "Failure! Unable to Reorder"; } } catch (Exception ex) { ErrorLog.WriteLog("VatiableController", "ManageVariablesOrder", ex, ""); message = "Failure! Unable to Reorder"; isModified = false; } return(this.Json(new { message = message, isModified = isModified }, JsonRequestBehavior.AllowGet)); }
private static List <IImageProvider> GetAvailableProviders() { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.ImageProvider); List <IImageProvider> Items = CacheFactory.Get(CacheKey); if (Items == null) { List <IImageProvider> ServiceInterfaceAssemblies = new List <IImageProvider>(); string[] binAssemblies = Directory.GetFiles(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin")).Where(c => c.EndsWith(".dll") && c.Contains("Vanjaro")).ToArray(); foreach (string Path in binAssemblies) { try { //get all assemblies IEnumerable <IImageProvider> AssembliesToAdd = from t in System.Reflection.Assembly.LoadFrom(Path).GetTypes() where t != (typeof(IImageProvider)) && (typeof(IImageProvider).IsAssignableFrom(t)) select Activator.CreateInstance(t) as IImageProvider; ServiceInterfaceAssemblies.AddRange(AssembliesToAdd.ToList <IImageProvider>()); } catch { continue; } } Items = ServiceInterfaceAssemblies; CacheFactory.Set(CacheKey, ServiceInterfaceAssemblies); } return(Items.Where(x => x.Available).ToList()); }
internal static List <INotificationTask> GetNotificationTask(int PortalID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.NotificationTask + "PortalID" + PortalID); List <INotificationTask> NotificationTasks = CacheFactory.Get(CacheKey); if (NotificationTasks == null) { List <INotificationTask> ServiceInterfaceAssemblies = new List <INotificationTask>(); string[] binAssemblies = Directory.GetFiles(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin")).Where(c => c.EndsWith(".dll") && (c.Contains("Vanjaro.UXManager.Extensions") || c.Contains("Vanjaro.Core.Extensions"))).ToArray(); foreach (string Path in binAssemblies) { try { //get all assemblies IEnumerable <INotificationTask> AssembliesToAdd = from t in System.Reflection.Assembly.LoadFrom(Path).GetTypes() where t != (typeof(INotificationTask)) && (typeof(INotificationTask).IsAssignableFrom(t)) select Activator.CreateInstance(t) as INotificationTask; ServiceInterfaceAssemblies.AddRange(AssembliesToAdd.ToList <INotificationTask>()); } catch { continue; } } NotificationTasks = ServiceInterfaceAssemblies; CacheFactory.Set(CacheKey, ServiceInterfaceAssemblies); } return(NotificationTasks); }
/// <summary> /// Get Variables by language /// </summary> /// <param name="languageID"></param> /// <returns></returns> public static List <Variable_Language> GetVariables(Guid languageID) { List <Variable> variables = new List <Variable>(); List <Variable_Language> variableLanguages = new List <Variable_Language>(); var cacheProvider = CacheFactory.Get(); if (!cacheProvider.Exists(CacheKeys.CACHE_VARIABLES)) { using (var context = new TSMContext()) { var query = context.Variables.Include("Variable_Languages").Include("Choices").Where(c => c.IsActive && !c.IsDeleted.Value).OrderBy(v => v.DisplayOrder); variables = query.ToList(); } //Populate Choices foreach (var variable in variables) { variable.Choices = new List <Choice>(); if (variable.Type == VariableType.MultipleChoice || variable.Type == VariableType.SingleChoice) { variable.Choices = GetChoices(variable.ID, languageID); } } cacheProvider.Add <List <Variable> >(variables, CacheKeys.CACHE_VARIABLES, SiteConstants.CacheDuration); } else { variables = cacheProvider.Get <List <Variable> >(CacheKeys.CACHE_VARIABLES); } variableLanguages = GetVariableLanguages(languageID, variables); return(variableLanguages); }
/// <summary> /// Remove Cache /// </summary> /// <param name="CacheKey"></param> public static void DeleteCache(string CacheKey) { if (!string.IsNullOrEmpty(CacheKey)) { var cacheFactory = CacheFactory.Get(); cacheFactory.ClearCache(CacheKey); } }
internal static WorkflowState GetStateByID(int ID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetStateByID", ID); WorkflowState WorkflowState = CacheFactory.Get(CacheKey); if (WorkflowState == null) { WorkflowState = WorkflowState.Query("where StateID=@0", ID).FirstOrDefault(); CacheFactory.Set(CacheKey, WorkflowState); } return(WorkflowState); }
internal static List <WorkflowState> GetAllStatesbyWorkflowID(int WorkflowId) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetAllStatesbyWorkflowID", WorkflowId); List <WorkflowState> WorkflowStates = CacheFactory.Get(CacheKey) as List <WorkflowState>; if (WorkflowStates == null) { WorkflowStates = WorkflowState.Query("where WorkflowId=@0", WorkflowId).ToList(); CacheFactory.Set(CacheKey, WorkflowStates); } return(WorkflowStates); }
internal static List <CustomBlock> GetAll(int PortalID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.CustomBlock + "ALL", PortalID); List <CustomBlock> Custom_Block = CacheFactory.Get(CacheKey); if (Custom_Block == null) { Custom_Block = CustomBlock.Query("where PortalID=@0", PortalID).ToList(); CacheFactory.Set(CacheKey, Custom_Block); } return(Custom_Block); }
internal static List <WorkflowLog> GetPagesWorkflowLogs(int TabID, int Version) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetPagesWorkflowLogs", TabID, Version); List <WorkflowLog> WorkflowLogs = CacheFactory.Get(CacheKey) as List <WorkflowLog>; if (WorkflowLogs == null) { WorkflowLogs = WorkflowLog.Query("Where Tabid=@0 and Version=@1", TabID, Version).ToList(); CacheFactory.Set(CacheKey, WorkflowLogs); } return(WorkflowLogs); }
internal static List <Pages> GetAllByTabID(int TabID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Page + "GetAllByTabID", TabID); List <Pages> _Pages = CacheFactory.Get(CacheKey) as List <Pages>; if (_Pages == null) { _Pages = Pages.Query("Where TabID=@0", TabID).ToList(); CacheFactory.Set(CacheKey, _Pages); } return(_Pages); }
internal static Pages Get(int TabID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Page + "ALL", TabID); Pages Page = CacheFactory.Get(CacheKey); if (Page == null) { Page = Pages.Query("Where TabID=@0", TabID).FirstOrDefault(); CacheFactory.Set(CacheKey, Page); } return(Page); }
internal static List <Pages> GetAllByState(int State) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Page + "GetAllByState", State); List <Pages> _Pages = CacheFactory.Get(CacheKey) as List <Pages>; if (_Pages == null) { _Pages = Pages.Query("Where StateID=@0", State).ToList(); CacheFactory.Set(CacheKey, _Pages); } return(_Pages); }
internal static List <ThemeEditorValue> GetThemeEditorValues(int PortalId, string CategoryGuid) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.ThemeManager, PortalId, "Values", CategoryGuid); List <ThemeEditorValue> result = CacheFactory.Get(CacheKey); if (result == null) { result = JsonConvert.DeserializeObject <List <ThemeEditorValue> >(File.ReadAllText(GetThemeEditorValueJsonPath(PortalId, CategoryGuid))); CacheFactory.Set(CacheKey, result); } return(result); }
internal static List <WorkflowPermission> GetWorkflowPermissionsByID(int ID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetWorkflowPermissionsByID", ID); List <WorkflowPermission> _WorkflowPerm = CacheFactory.Get(CacheKey) as List <WorkflowPermission>; if (_WorkflowPerm == null) { _WorkflowPerm = WorkflowPermission.Query("where WorkflowID=@0", ID).ToList(); CacheFactory.Set(CacheKey, _WorkflowPerm); } return(_WorkflowPerm); }
internal static Workflow GetWorkflowbyID(int WorkflowId) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetWorkflowbyID", WorkflowId); Workflow Workflow = CacheFactory.Get(CacheKey); if (Workflow == null) { Workflow = Workflow.Query("where ID=@0", WorkflowId).FirstOrDefault(); CacheFactory.Set(CacheKey, Workflow); } return(Workflow); }
internal static CustomBlock Get(int PortalID, string Name) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.CustomBlock, PortalID, Name); CustomBlock CustomBlock = CacheFactory.Get(CacheKey); if (CustomBlock == null) { CustomBlock = CustomBlock.Query("where PortalID=@0 and Name=@1", PortalID, Name).FirstOrDefault(); CacheFactory.Set(CacheKey, CustomBlock); } return(CustomBlock); }
internal static List <Setting> GetSettings(int PortalID, int TabID, string Identifier) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Settings, Identifier, PortalID, TabID); List <Setting> data = CacheFactory.Get(CacheKey); if (data == null) { data = Setting.Fetch("WHERE PortalID=@0 and TabID=@1 AND Identifier=@2", PortalID, TabID, Identifier); CacheFactory.Set(CacheKey, data); } return(data); }
public static Dictionary <string, string> GetGlobalConfigs(PortalSettings PortalSettings, string Block, bool IsGlobal = true, string BlockDirectory = "Blocks") { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.GlobalConfig, PortalSettings.PortalId, Block); Dictionary <string, string> result = CacheFactory.Get(CacheKey); if (result == null) { result = new Dictionary <string, string>(); string FolderPath = Globals.ApplicationMapPath + @"\portals\_default\" + GetTheme() + BlockDirectory + "\\" + Block + "\\"; if (Directory.Exists(FolderPath)) { string markup = string.Empty; if (File.Exists(FolderPath + Block + ".html")) { markup += File.ReadAllText(FolderPath + Block + ".html"); } if (IsGlobal && File.Exists(FolderPath + Block + ".config.html")) { markup += File.ReadAllText(FolderPath + Block + ".config.html"); } if (!string.IsNullOrEmpty(markup)) { HtmlDocument html = new HtmlDocument(); html.LoadHtml(markup); IEnumerable <HtmlNode> query = html.DocumentNode.Descendants("div"); foreach (HtmlNode item in query.ToList()) { if (item.Attributes.Where(a => a.Name == "data-block-guid").FirstOrDefault() != null) { foreach (HtmlAttribute attr in item.Attributes) { if (result.ContainsKey(attr.Name)) { result[attr.Name] = attr.Value; } else { result.Add(attr.Name, attr.Value); } } } } } } CacheFactory.Set(CacheKey, result); } return(result); }
public ActionResult ManagePage(ManagePageModel model) { if (ModelState.IsValid) { if (model.Save()) { var cacheProvider = CacheFactory.Get(); cacheProvider.ClearCache(CacheKeys.CACHE_STATIC_PAGES); TempData["Success"] = true; return(Redirect("/admin/manage-page/?id=" + model.ID.ToString())); } } return(View("~/Views/Admin/Page/ManagePage.cshtml", model)); }
/// <summary> /// Get Current Page /// </summary> /// <returns></returns> private static Content_Language GetCurrentPage() { var cacheProvider = CacheFactory.Get(); string[] currentURLSegments = HttpContext.Current.Request.RawUrl.Split('/'); string url = "/" + currentURLSegments[currentURLSegments.Length - 1].ToLower(); Content_Language pageLanguage = new Content_Language(); try { if (!cacheProvider.Exists(CacheKeys.CACHE_STATIC_PAGES)) { var pages = PageService.GetPages(); if (pages != null && pages.Count > 0) { cacheProvider.Add <List <Content> >(pages, CacheKeys.CACHE_STATIC_PAGES, 60 * 72); } var page = pages.Where(p => p.URL.ToLower() == url).FirstOrDefault(); if (page != null) { pageLanguage = page.Content_Languages.Where(pl => pl.LanguageID == TSMContext.CurrentSiteLanguageID).FirstOrDefault(); } if (pageLanguage == null) { pageLanguage = new Content_Language(); } } else { var pages = cacheProvider.Get <List <Content> >(CacheKeys.CACHE_STATIC_PAGES); var page = pages.Where(p => p.URL.ToLower() == url).FirstOrDefault(); if (page != null) { pageLanguage = page.Content_Languages.Where(pl => pl.LanguageID == TSMContext.CurrentSiteLanguageID).FirstOrDefault(); } if (pageLanguage == null) { pageLanguage = new Content_Language(); } } } catch (Exception ex) { ErrorLog.WriteLog("TSMContext", "GetCurrentPage", ex, ""); } return(pageLanguage); }
/// <summary> /// Populate /// </summary> public void Populate() { var cacheProvider = CacheFactory.Get(); if (!cacheProvider.Exists(CacheKeys.CACHE_COUNTRIESMAP)) { this.CountryRecords = new List <CountryRecordsModel>(); Guid defaultLanguageID = new Guid(AppSettingsUtility.GetString(AppSettingsKeys.DefaultLanguageID)); var countryLanguages = CountryService.GetCountriesWithRecord(defaultLanguageID); //Get Minimum record this.MinRecord = (from cl in countryLanguages where cl.Country.Records.Count > 0 select cl.Country.Records.Count).Min(); //Get Max Record this.MaxRecord = (from cl in countryLanguages where cl.Country.Records.Count > 0 select cl.Country.Records.Count).Max(); foreach (var countryLanguage in countryLanguages) { CountryRecordsModel countryRecord = new CountryRecordsModel { CountryCode = countryLanguage.Country.ISOCode, CountryID = countryLanguage.ID.ToString(), CountryName = countryLanguage.Name, RecordCount = countryLanguage.Country.Records.Count, FillOpacity = GetFillOpacity(countryLanguage.Country.Records.Count), GeoJSON = GetGeoJSON(countryLanguage.Country.ISOCode), MinRecord = this.MinRecord, MaxRecord = this.MaxRecord }; if (!string.IsNullOrEmpty(countryRecord.GeoJSON) && countryRecord.RecordCount > 0) { this.CountryRecords.Add(countryRecord); } } //Add to cache cacheProvider.Add <List <CountryRecordsModel> >(this.CountryRecords, CacheKeys.CACHE_COUNTRIESMAP, SiteConstants.CacheDuration); } else { this.CountryRecords = cacheProvider.Get <List <CountryRecordsModel> >(CacheKeys.CACHE_COUNTRIESMAP); } }
internal static List <WorkflowPermissionInfo> GetPermissionByCode(string Code) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetPermissionByCode", Code); List <WorkflowPermissionInfo> _WorkflowStatePermInfo = CacheFactory.Get(CacheKey) as List <WorkflowPermissionInfo>; if (_WorkflowStatePermInfo == null) { using (VanjaroRepo db = new VanjaroRepo()) { _WorkflowStatePermInfo = db.Query <WorkflowPermissionInfo>("SELECT p.* FROM " + Data.Scripts.CommonScript.DnnTablePrefix + "Permission AS p WHERE p.PermissionCode = @0", Code).ToList(); } CacheFactory.Set(CacheKey, _WorkflowStatePermInfo); } return(_WorkflowStatePermInfo); }
internal static List <WorkflowPage> GetReviewPagesbyUserID(int UserID, int Page, int PageSize, int StateID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetReviewPagesbyUserID", UserID, Page, PageSize, StateID); List <WorkflowPage> Pages = CacheFactory.Get(CacheKey) as List <WorkflowPage>; if (Pages == null) { Sql Query = WorkflowScript.GetPagesByUserID(UserID, Page, PageSize, StateID); using (VanjaroRepo db = new VanjaroRepo()) { Pages = db.Fetch <WorkflowPage>(Query).ToList(); } CacheFactory.Set(CacheKey, Pages); } return(Pages); }
internal static List <Pages> GetAllPublishedPages(int portalID, string Locale) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Page, portalID, "AllPublishedPages", Locale); List <Pages> pages = CacheFactory.Get(CacheKey); if (pages == null || pages.Count == 0) { Sql Query = PageScript.GetAllPublishedPages(portalID, Locale); using (VanjaroRepo db = new VanjaroRepo()) { pages = db.Fetch <Pages>(Query).ToList(); } CacheFactory.Set(CacheKey, pages); } return(pages); }
internal static List <StringValue> GetStatesforReview(int PortalID, int UserID) { string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetStatesforReview" + "PortalID", UserID, PortalID); List <StringValue> result = CacheFactory.Get(CacheKey) as List <StringValue>; if (result == null) { Sql Query = WorkflowScript.GetStatesforPendingReview(PortalID, UserID); using (VanjaroRepo db = new VanjaroRepo()) { result = db.Fetch <StringValue>(Query).ToList(); } CacheFactory.Set(CacheKey, result); } return(result); }