Esempio n. 1
0
        public ActionResult ReportViewerPage(string id)
        {
            Logger.Info($"report viewer page");
            if (AppUserState == null || AppUserState.Connected == false)
            {
                Logger.Info($"user not logged in redirect to login with return path of {System.Web.HttpContext.Current.Request.Url.PathAndQuery}");
                return(RedirectToAction("WindowsLogOnRedirect", "Auth", new { returnPath = System.Web.HttpContext.Current.Request.Url.PathAndQuery }));
            }
            Logger.Info($"user logged in");
            var client = new HttpClient {
                BaseAddress = new Uri(_reportserverUrl)
            };

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            var reportusername = AppUserState.ReportingUserName;

            Logger.Info($"username {reportusername} ");
            var reportpassword = "******";
            var data           = $"grant_type=password&username={reportusername}&password={reportpassword}";

            Logger.Info($"data {data} ");
            var token = client.PostAsync($"{_reportserverUrl}/Token", new StringContent(data)).Result;

            Logger.Info($"_reportserverUrl {_reportserverUrl} ");
            dynamic t   = JObject.Parse(token.Content.ReadAsStringAsync().Result);
            var     rvm = new TemplatedReportViewerViewModel {
                ReportServer = _reportserverUrl, ReportSource = new UriReportSource {
                    Uri = id.Replace("|", "/")
                }, Token = t.access_token.Value
            };

            return(View(rvm));
        }
Esempio n. 2
0
        public PartialViewResult ReportViewer(string id)
        {
            var client = new HttpClient {
                BaseAddress = new Uri(_reportserverUrl)
            };

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            var     reportusername = AppUserState.ReportingUserName;
            var     reportpassword = "******";
            var     data           = $"grant_type=password&username={reportusername}&password={reportpassword}";
            var     token          = client.PostAsync($"{_reportserverUrl}/Token", new StringContent(data)).Result;
            dynamic t   = JObject.Parse(token.Content.ReadAsStringAsync().Result);
            var     rvm = new TemplatedReportViewerViewModel {
                ReportServer = _reportserverUrl, ReportSource = new UriReportSource {
                    Uri = id.Replace("|", "/")
                }, Token = t.access_token.Value
            };

            return(PartialView("_ReportViewer", rvm));
        }