public void SmokeTest_AllFormats(ReportRenderFormat format)
        {
            var connection = ServerConnection.Create(_serverPath, true);
            var reportWrapper = ReportWrapper.Create(connection, _reportPath);

            var parameters = ParamPack.Create("pack1");

            var result = reportWrapper.Render(format, parameters.Pack());

            if (result.Failure)
                Debug.WriteLine(result.Error);

            Assert.That(result.Success, Is.True);

            Assert.That(result.Value.Stream, Is.Not.Null);
            Assert.That(result.Value.Stream.Length, Is.GreaterThan(0));
        }
Example #2
0
        public void SmokeTest_AllFormats(ReportRenderFormat format)
        {
            var connection    = ServerConnection.Create(_serverPath, true);
            var reportWrapper = ReportWrapper.Create(connection, _reportPath);

            var parameters = ParamPack.Create("pack1");

            var result = reportWrapper.Render(format, parameters.Pack());

            if (result.Failure)
            {
                Debug.WriteLine(result.Error);
            }

            Assert.That(result.Success, Is.True);

            Assert.That(result.Value.Stream, Is.Not.Null);
            Assert.That(result.Value.Stream.Length, Is.GreaterThan(0));
        }
        public Result <ReportRenderInfo> Render(ReportRenderFormat format, IEnumerable <ParameterValue> parameters)
        {
            var rs = _connection.ExecutionService;

            byte[] result;

            try
            {
                string    mimeType, encoding, extension;
                Warning[] warnings;
                string[]  streamIds;

                var formatString = new ReportFormatConverter().ConvertTo(format, typeof(string)) as string;


                rs.SetExecutionParameters(parameters.ToArray(), "en-us");

                result             = rs.Render(formatString, null, out extension, out encoding, out mimeType, out warnings, out streamIds);
                _diagInfo.Warnings = warnings ?? new Warning[0];

                var execInfo = rs.GetExecutionInfo();
                _diagInfo.ExecutionDateTime = execInfo.ExecutionDateTime;
            }
            catch (SoapException e)
            {
                return(Result.Fail <ReportRenderInfo>(e.ToString()));
            }

            try
            {
                var stream = new MemoryStream();
                stream.Write(result, 0, result.Length);
                stream.Position = 0;

                return(Result.Ok(ReportRenderInfo.Create(stream, _diagInfo)));
            }
            catch (Exception e)
            {
                return(Result.Fail <ReportRenderInfo>(e.ToString()));
            }
        }
        public Result<ReportRenderInfo> Render(ReportRenderFormat format, IEnumerable<ParameterValue> parameters)
        {
            var rs = _connection.ExecutionService;
            byte[] result;

            try
            {
                string mimeType, encoding, extension;
                Warning[] warnings;
                string[] streamIds;

                var formatString = new ReportFormatConverter().ConvertTo(format, typeof(string)) as string;

                rs.SetExecutionParameters(parameters.ToArray(), "en-us");

                result = rs.Render(formatString, null, out extension, out encoding, out mimeType, out warnings, out streamIds);
                _diagInfo.Warnings = warnings ?? new Warning[0];

                var execInfo = rs.GetExecutionInfo();
                _diagInfo.ExecutionDateTime = execInfo.ExecutionDateTime;
            }
            catch (SoapException e)
            {
                return Result.Fail<ReportRenderInfo>(e.ToString());
            }

            try
            {
                var stream = new MemoryStream();
                stream.Write(result, 0, result.Length);
                stream.Position = 0;

                return Result.Ok(ReportRenderInfo.Create(stream, _diagInfo));
            }
            catch (Exception e)
            {
                return Result.Fail<ReportRenderInfo>(e.ToString());
            }
        }