public bool GetAppDetail(string userID, string userDirectory, string appID, out QRSSenseAppDetail appDetail, out string errorMessage) { appDetail = new QRSSenseAppDetail(); errorMessage = ""; try { RestClient client = conn.CreateRestClient("app/" + appID, userID, userDirectory, out restRequest); var response = client.Execute <QRSSenseAppDetail>(restRequest); if (response.IsSuccessful) { appDetail = response.Data; } else { errorMessage = response.ErrorMessage; } return(response.IsSuccessful); } catch (Exception ex) { errorMessage = ex.Message; while (ex.InnerException != null) { ex = ex.InnerException; errorMessage += " -> " + ex.Message; } return(false); } }
public ActionResult GetReportsGrid(string idStream, string desStream) { ViewBag.idStream = idStream; ViewBag.desStream = desStream; string path = Server.MapPath("~/cert/client.pfx"); ReportViewModel model = new ReportViewModel(); List <SenseApplication> publishedApps; List <SenseStream> streams = new List <SenseStream>(); string errorMessage = ""; // Prendo gli stream di self-service e creo una lista QRSQlikAPI QRSqlikAPIMaster = new QRSQlikAPI(AmbitiUtility.GetAmbitoNode(GetCookie("AmbitoId"), GetCookie("NodeId")).Server, path); var ambito = AmbitiUtility.GetAmbitoById(GetCookie("AmbitoId")); QRSqlikAPIMaster.GetStreamsByCustomProperty(GetCookie("UserID"), GetCookie("UserDirectory"), "StreamType", "Self-Service", ambito.customproperty, out streams, out errorMessage); List <string> streamIdList = new List <string>(); if (streams != null) { streamIdList = (from s in streams select s.Id).ToList(); } // // Prendo le app pubblicate in self-service controllando che siano nella lista creata prima QlikAPI qlikAPIMaster = new QlikAPI(AmbitiUtility.GetAmbitoNode(GetCookie("AmbitoId"), GetCookie("NodeId")).Link, GetCookie("UserID"), GetCookie("UserDirectory"), path); if (qlikAPIMaster.GetPublishedAppsInSelectedStreams(streamIdList, out publishedApps)) { foreach (var app in publishedApps) { errorMessage = ""; QRSSenseAppDetail appDetail = new QRSSenseAppDetail(); //if (QRSqlikAPIMaster.GetAppDetail(ConfigurationManager.AppSettings["QlikUser"], ConfigurationManager.AppSettings["QlikUserDirectory"], app.AppId, out appDetail, out errorMessage)) if (QRSqlikAPIMaster.GetAppDetail(GetCookie("UserID"), GetCookie("UserDirectory"), app.AppId, out appDetail, out errorMessage)) { app.OwnerUserName = appDetail.owner.name; } } model = ReportViewModel.CreateReportViewModel(publishedApps, streams); } return(PartialView("ReportsGrid", model)); }
public ActionResult Detail(string AppName, string AppId, string StreamId, string AmbitoList, string StreamName, string dummy) { AppToPublishViewModel model = new AppToPublishViewModel(); model.AppId = AppId; model.AppName = AppName; model.StreamName = StreamName; model.StreamID = StreamId; ViewBag.AmbitoList = AmbitoList; string path = Server.MapPath("~/cert/client.pfx"); QRSSenseAppDetail detail = new QRSSenseAppDetail(); QRSSenseApp newApp = new QRSSenseApp(); // Prendo il nodo dei Report Distribuiti var ambito = AmbitiUtility.GetAmbitoById(new List <string>() { GetCookie("AmbitoId") }).FirstOrDefault(); var distrNode = (from f in ambito.Nodes where f.NodeType == "D" select f).FirstOrDefault(); // // Prendo le app pubblicate nel nodo dei Report Distribuiti List <SenseApplication> publishedApps; QlikAPI qlikAPIMaster = new QlikAPI(AmbitiUtility.GetAmbitoNode(GetCookie("AmbitoId"), distrNode.Id.ToString()).Link, GetCookie("UserID"), GetCookie("UserDirectory"), path); qlikAPIMaster.GetPublishedApps(out publishedApps); model.OverwriteRequired = false; // Controllo se c'è già un'app nello stream che si chiama così foreach (var publishedApp in publishedApps) { if (publishedApp.StreamID == StreamId && publishedApp.Name == AppName) { model.OverwriteRequired = true; model.AppToOverwriteId = publishedApp.AppId; } } return(View("ToShare", model)); }
public ActionResult Detail(string AppName, string AppId, string StreamId, string AmbitoList, string StreamName, string AppOldName, string dummy) { AppToPublishViewModel model = new AppToPublishViewModel(); model.AppId = AppId; model.AppName = AppName; model.StreamName = StreamName; model.StreamID = StreamId; model.AppOldName = AppOldName; ViewBag.AmbitoList = AmbitoList; string path = Server.MapPath("~/cert/client.pfx"); QRSSenseAppDetail detail = new QRSSenseAppDetail(); QRSSenseApp newApp = new QRSSenseApp(); // Prendo la lista delle app pubblicate List <SenseApplication> publishedApps; QlikAPI qlikAPIMaster = new QlikAPI(AmbitiUtility.GetAmbitoNode(GetCookie("AmbitoId"), GetCookie("NodeId")).Link, GetCookie("UserID"), GetCookie("UserDirectory"), path); qlikAPIMaster.GetPublishedApps(out publishedApps); model.OverwriteRequired = false; // Controllo se c'è già un'app nello stream che si chiama così foreach (var publishedApp in publishedApps) { if (publishedApp.StreamID == StreamId && publishedApp.Name == AppName) { model.OverwriteRequired = true; model.AppToOverwriteId = publishedApp.AppId; } } return(View("ToPublish", model)); }