Exemple #1
0
        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();
        }