public RemoteTask <object> RenderAsync(string shortid, string sampleDataName)
        {
            dynamic rs = CreateReportingService();

            return(RemoteTask.ServerStart <object>(async cts =>
            {
                dynamic renderRequest = Activator.CreateInstance(LoadType("jsreport.Client.RenderRequest"));
                renderRequest.template = (dynamic)Activator.CreateInstance(LoadType("jsreport.Client.Entities.Template"));
                renderRequest.template.shortid = shortid;
                renderRequest.data = PrepareSampleData(sampleDataName);
                renderRequest.options = (dynamic)Activator.CreateInstance(LoadType("jsreport.Client.RenderOptions"));
                try
                {
                    renderRequest.options.preview = true;
                }//back compatibility
                catch (Exception e) {  }

                dynamic report = await rs.RenderAsync(renderRequest);
                return new Report
                {
                    Content = report.Content,
                    FileExtension = report.FileExtension
                };
            }));
        }
Esempio n. 2
0
 public RemoteTask <int> StopAsync()
 {
     _isRunning = false;
     return(RemoteTask.ServerStart <int>(async cts =>
     {
         await _embeddedReportingServer.StopAsync().ConfigureAwait(false);
         return 0;
     }));
 }
Esempio n. 3
0
        /// <summary>
        /// Ensures that jsreport server is running for current project
        /// </summary>
        public RemoteTask <int> EnsureStartedAsync()
        {
            if (_isRunning && Process.GetProcessesByName("node").Any(p => GetMainModuleFilePath(p.Id).Contains(_currentShadowBinFolder)))
            {
                return(RemoteTask.ServerStart((cts) => Task.FromResult(1)));
            }

            _isRunning = true;
            return(RemoteTask.ServerStart <int>(async cts =>
            {
                await StartAsync().ConfigureAwait(false);
                return 0;
            }));
        }
        public RemoteTask <object> RenderAsync(string shortid, string sampleDataName)
        {
            dynamic rs = CreateReportingService();

            return(RemoteTask.ServerStart <object>(async cts =>
            {
                dynamic report = await rs.RenderAsync(shortid, PrepareSampleData(sampleDataName));
                return new Report
                {
                    Content = report.Content,
                    FileExtension = report.FileExtension
                };
            }));
        }
        public RemoteTask <int> SynchronizeTemplatesAsync()
        {
            dynamic rs = CreateReportingService();

            return(RemoteTask.ServerStart <int>(async cts =>
            {
                if (_configuration != null)
                {
                    foreach (KeyValuePair <string, object> sampleData in _configuration.SampleData)
                    {
                        await rs.CreateOrUpdateSampleData(sampleData.Key, JsonConvert.SerializeObject(sampleData.Value, new JsonSerializerSettings()
                        {
                            ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
                            PreserveReferencesHandling = PreserveReferencesHandling.All
                        }));
                    }
                }

                await rs.SynchronizeTemplatesAsync();
                return 0;
            }));
        }
Esempio n. 6
0
 public RemoteTask <int> EnsureStartedAsync()
 {
     return(RemoteTask.ServerStart(cts => Task.FromResult(0)));
 }
Esempio n. 7
0
 public RemoteTask <int> StopAsync()
 {
     return(RemoteTask.ServerStart(cts => Task.FromResult(0)));
 }
        public RemoteTask <IEnumerable <string> > GetEnginesAsync()
        {
            dynamic rs = CreateReportingService();

            return(RemoteTask.ServerStart <IEnumerable <string> >(cts => rs.GetEnginesAsync()));
        }