private void LoadLinkBiReports(Guid idUser) { string directoryName = Path.Combine( HttpContext.Current.Request.PhysicalApplicationPath, "Fileadmin", "SavedLinkBiDefinitions", ((DatabaseCore.Core)HttpContext.Current.Session["Core"]).ClientName ); if (!Directory.Exists(directoryName)) { return; } // Get the client's saved linkBi definitions. string[] savedLinkBIDefinitions = Directory.GetFiles(directoryName); // Run through all saved linkBI reports of the client. foreach (string savedLinkBIDefinition in savedLinkBIDefinitions) { LinkBiDefinitionInfo info = new LinkBiDefinitionInfo(savedLinkBIDefinition); // Create a new recent use item by the saved report. RecentUsedItem item = new RecentUsedItem(); DateTime latestUse = new DateTime(); if (info.LatestUses.ContainsKey(idUser)) { latestUse = info.LatestUses[idUser]; } item.LatestUse = latestUse; item.Name = info.ReportName; item.Type = RecentUsedItemType.LinkBi; item.OnClick = "_AjaxRequest('/Handlers/LinkBi.ashx', 'SetActiveLinkBiDefinition', 'FileName=" + savedLinkBIDefinition.Replace("\\", "/") + "', function (response) { window.location = '/Pages/LinkBi/LinkBi.aspx'; });"; this.Items.Add(item); } }
private void SetActiveLinkBiDefinition(HttpContext context) { // Get the full path to the LinkBi definition // file from the http request's parameters. string fileName = context.Request.Params["FileName"]; HttpContext.Current.Session["LinkBiDefinition"] = fileName; LinkBiDefinitionInfo info = new LinkBiDefinitionInfo(fileName); if (info.LatestUses.ContainsKey(Global.IdUser.Value)) { info.LatestUses[Global.IdUser.Value] = DateTime.Now; } else { info.LatestUses.Add(Global.IdUser.Value, DateTime.Now); } info.Save(); }