예제 #1
0
        protected AbstractRenderer SetupPushDataRenderer(IReportModel model,
                                                         DataTable dataTable)
        {
            if (model == null)
            {
                throw new ArgumentNullException("model");
            }
            if (model.ReportSettings.ReportType != GlobalEnums.ReportType.DataReport)
            {
                throw new ArgumentException("SetupPushDataRenderer <No valid ReportModel>");
            }
            if (model.ReportSettings.DataModel != GlobalEnums.PushPullModel.PushData)
            {
                throw new ArgumentException("SetupPushDataRenderer <No valid ReportType>");
            }
            AbstractRenderer abstr   = null;
            IDataManager     dataMan = DataManager.CreateInstance(dataTable, model.ReportSettings);

            if (dataMan != null)
            {
                abstr                  = RendererFactory.Create(model, dataMan);
                abstr.Rendering       += new EventHandler <SectionRenderEventArgs>(OnSectionPrinting);
                abstr.SectionRendered += new EventHandler <SectionRenderEventArgs>(OnSectionPrinted);

                return(abstr);
            }
            return(null);
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="reportModel"></param>
        /// <param name="dataTable"></param>
        /// <param name="reportParameters"></param>
        /// <returns></returns>

        public static IReportCreator CreatePageBuilder(IReportModel reportModel,
                                                       DataTable dataTable,
                                                       ReportParameters reportParameters)
        {
            Console.WriteLine("ReportEngine:CreatePageBuilder_3");
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }
            if (dataTable == null)
            {
                throw new ArgumentNullException("dataTable");
            }
            ReportEngine.CheckForParameters(reportModel, reportParameters);
            IDataManager dataMan = DataManager.CreateInstance(dataTable, reportModel.ReportSettings);

            if (dataMan != null)
            {
                return(DataPageBuilder.CreateInstance(reportModel, dataMan));
            }
            else
            {
                throw new MissingDataManagerException();
            }
        }
예제 #3
0
        /*
         * protected static ColumnCollection CollectFieldsFromModel(ReportModel model){
         *      if (model == null) {
         *              throw new ArgumentNullException("model");
         *      }
         *      ColumnCollection col = new ColumnCollection();
         *
         *      foreach (BaseSection section in model.SectionCollection){
         *              for (int i = 0;i < section.Items.Count ;i ++ ) {
         *                      IReportItem item = section.Items[i];
         *                      BaseDataItem baseItem = item as BaseDataItem;
         *                      if (baseItem != null) {
         *                              col.Add(new AbstractColumn(baseItem.ColumnName));
         *                      }
         *              }
         *      }
         *      return col;
         * }
         */

        /// <summary>
        /// Creates an <see cref="AbstractRenderer"></see>
        /// any Class deriving from this can be
        /// used to get a <see cref="System.Drawing.Printing.PrintDocument"></see>
        /// </summary>
        /// <param name="model"><see cref="ReportModel"></see></param>
        /// <returns></returns>


        protected AbstractRenderer SetupStandardRenderer(IReportModel model, ReportParameters parameters)
        {
            AbstractRenderer abstr = null;

            try {
                switch (model.ReportSettings.ReportType)
                {
                //FormSheets reports
                case GlobalEnums.ReportType.FormSheet:
                    abstr = RendererFactory.Create(model, null);
                    break;

                //Databased reports
                case GlobalEnums.ReportType.DataReport:
                    IDataManager dataMan = DataManagerFactory.CreateDataManager(model, parameters);
                    abstr = RendererFactory.Create(model, dataMan);
                    break;

                default:
                    throw new ReportException("SharpReportmanager:SetupRenderer -> Unknown Reporttype");
                }

                abstr.Rendering       += new EventHandler <SectionRenderEventArgs>(OnSectionPrinting);
                abstr.SectionRendered += new EventHandler <SectionRenderEventArgs>(OnSectionPrinted);
                return(abstr);
            } catch (Exception) {
                throw;
            }
        }
 public void ProcessReport(Stream TemplateFileStream, string destinationFile, IReportModel Data)
 {
     DestinationFile = destinationFile;
     Document        = new SLDocument(TemplateFileStream);
     SubProcess(Data);
     Document.SaveAs(DestinationFile);
 }
예제 #5
0
        public IReportCreator ReportCreator(IReportModel reportModel)
        {
            ReportModel = reportModel;
            var builder = new FormPageBuilder(ReportModel);

            return(builder);
        }
예제 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="reportModel"></param>
        /// <param name="list"></param>
        /// <param name="reportParameters"></param>
        /// <returns></returns>
        public static IReportCreator CreatePageBuilder(IReportModel reportModel,
                                                       IList list,
                                                       ReportParameters reportParameters)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }
            if (list == null)
            {
                throw new ArgumentNullException("list");
            }
            ReportEngine.CheckForParameters(reportModel, reportParameters);
            IDataManager dataMan = DataManager.CreateInstance(list, reportModel.ReportSettings);

            if (dataMan != null)
            {
                Layouter layouter = new Layouter();
                return(DataPageBuilder.CreateInstance(reportModel, dataMan, layouter));
            }
            else
            {
                throw new MissingDataManagerException();
            }
        }
예제 #7
0
        public void CalculatePageBounds(IReportModel reportModel)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }

            sectionBounds.MeasureReportHeader(reportModel.ReportHeader);

            //PageHeader
            this.sectionBounds.MeasurePageHeader(reportModel.PageHeader);

            //PageFooter
            this.sectionBounds.MeasurePageFooter(reportModel.PageFooter);

            //ReportFooter

            this.sectionBounds.MeasureReportFooter(reportModel.ReportFooter);

            this.sectionBounds.MeasureDetailArea();

            this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X, sectionBounds.DetailStart.Y,
                                                                                     reportModel.DetailSection.Size.Width,
                                                                                     reportModel.DetailSection.Size.Height);
        }
예제 #8
0
		public void CalculatePageBounds(IReportModel reportModel)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}

			sectionBounds.MeasureReportHeader(reportModel.ReportHeader);

			//PageHeader
			this.sectionBounds.MeasurePageHeader(reportModel.PageHeader);

			//PageFooter
			this.sectionBounds.MeasurePageFooter(reportModel.PageFooter);

			//ReportFooter

			this.sectionBounds.MeasureReportFooter(reportModel.ReportFooter);

			this.sectionBounds.MeasureDetailArea();
			
			this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X,sectionBounds.DetailStart.Y,
			                                                                         reportModel.DetailSection.Size.Width,
			                                                                         reportModel.DetailSection.Size.Height);

		}
예제 #9
0
 public void CalculatePageBounds(IReportModel reportModel)
 {
     MeasureReportHeader(reportModel.ReportHeader);
     MeasurePageHeader(reportModel.PageHeader);
     MeasurePageFooter(reportModel.PageFooter);
     MeasureReportFooter(reportModel.ReportFooter);
 }
 public void LoadModelFromStream()
 {
     Assembly asm = Assembly.GetExecutingAssembly();
     var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems);
     var rf = new ReportingFactory();
     model = rf.LoadReportModel(stream);
 }
예제 #11
0
 public void LoadModelFromStream()
 {
     System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
     var stream = asm.GetManifestResourceStream(TestHelper.ReportFromList);
     var rf = new ReportingFactory();
     model = rf.LoadReportModel(stream);
 }
예제 #12
0
		public static IDataManager CreateDataManager (IReportModel reportModel,ReportParameters reportParameters)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			IDataManager dataManager = null;
			ConnectionObject connectionObject = null;
			IDataAccessStrategy accesStrategy = null;
			if (reportParameters != null) {
				connectionObject = reportParameters.ConnectionObject;
			}
			
//			if (connectionObject != null) {
//				accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings,connectionObject);
//			} else {
//				accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings,null);
//				
//			}
			accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings);
			dataManager = DataManager.CreateInstance(reportModel.ReportSettings,accesStrategy);
			if (dataManager == null) {
				throw new MissingDataManagerException();
			}
			return dataManager;
		}	
예제 #13
0
        private static void ReportToPrinter(AbstractRenderer renderer, IReportModel model)
        {
            if (renderer == null)
            {
                throw new ArgumentNullException("renderer");
            }
            if (model == null)
            {
                throw new ArgumentNullException("model");
            }
            PrintDocument doc = null;

            if (renderer.Cancel == false)
            {
                doc = renderer.ReportDocument;
                using (PrintDialog dlg = new PrintDialog()) {
                    dlg.Document = doc;
                    if (model.ReportSettings.UseStandardPrinter == true)
                    {
                        dlg.Document.Print();
                    }
                    else
                    {
                        DialogResult result = dlg.ShowDialog();
                        // If the result is OK then print the document.
                        if (result == DialogResult.OK)
                        {
                            dlg.Document.Print();
                        }
                    }
                }
            }
        }
예제 #14
0
		public void CalculatePageBounds (IReportModel reportModel)
		{
			MeasureReportHeader(reportModel.ReportHeader);
			MeasurePageHeader(reportModel.PageHeader);
			MeasurePageFooter(reportModel.PageFooter);
			MeasureReportFooter(reportModel.ReportFooter);
		}
예제 #15
0
        public void PreviewPushDataReport(string fileName, IList list, ReportParameters reportParameters)
        {
            if (String.IsNullOrEmpty(fileName))
            {
                throw new ArgumentNullException("fileName");
            }
            if (list == null)
            {
                throw new ArgumentNullException("list");
            }
            AbstractRenderer renderer = null;

            try {
                IReportModel model = ValidatePushModel(fileName);
                CheckForParameters(model, reportParameters);
                renderer = this.SetupPushDataRenderer(model, list);

                if (renderer != null)
                {
                    PreviewControl.ShowPreview(renderer, 1.5, false);
                }
            } catch (Exception) {
                throw;
            }
        }
		static StringWriter ToXmlInternal(IReportModel model)
		{
			var writer = new StringWriterWithEncoding(System.Text.Encoding.UTF8);
			var xml = XmlHelper.CreatePropperWriter(writer);
		
			var reportDesignerWriter = new ReportDesignerWriter();
			XmlHelper.CreatePropperDocument(xml);
			
			
			reportDesignerWriter.Save(model.ReportSettings,xml);
			
			xml.WriteEndElement();
			xml.WriteStartElement("SectionCollection");
			
			// we look only for Sections
			foreach (var section in model.SectionCollection) {
					reportDesignerWriter.Save(section,xml);
			}
			
			//SectionCollection
			xml.WriteEndElement();
			//Reportmodel
			xml.WriteEndElement();
			xml.WriteEndDocument();
			xml.Close();
			return writer;
		}
        static StringWriter ToXmlInternal(IReportModel model)
        {
            var writer = new StringWriterWithEncoding(System.Text.Encoding.UTF8);
            var xml    = XmlHelper.CreatePropperWriter(writer);

            var reportDesignerWriter = new ReportDesignerWriter();

            XmlHelper.CreatePropperDocument(xml);


            reportDesignerWriter.Save(model.ReportSettings, xml);

            xml.WriteEndElement();
            xml.WriteStartElement("SectionCollection");

            // we look only for Sections
            foreach (var section in model.SectionCollection)
            {
                reportDesignerWriter.Save(section, xml);
            }

            //SectionCollection
            xml.WriteEndElement();
            //Reportmodel
            xml.WriteEndElement();
            xml.WriteEndDocument();
            xml.Close();
            return(writer);
        }
예제 #18
0
        public void PreviewPushDataReport(string fileName, DataTable dataTable, ReportParameters reportParameters)
        {
            Console.WriteLine("ReportEngine:PreviewPushDataReport_1");
            if (String.IsNullOrEmpty(fileName))
            {
                throw new ArgumentNullException("fileName");
            }
            if (dataTable == null)
            {
                throw new ArgumentNullException("dataTable");
            }
            AbstractRenderer renderer = null;

            try {
                IReportModel model = ValidatePushModel(fileName);
                CheckForParameters(model, reportParameters);
                renderer = this.SetupPushDataRenderer(model, dataTable);
                if (renderer != null)
                {
                    PreviewControl.ShowPreview(renderer, 1.5, false);
                }
            } catch (Exception) {
                throw;
            }
        }
예제 #19
0
        public static IDataManager CreateDataManager(IReportModel reportModel, ReportParameters reportParameters)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }
            IDataManager        dataManager      = null;
            ConnectionObject    connectionObject = null;
            IDataAccessStrategy accesStrategy    = null;

            if (reportParameters != null)
            {
                connectionObject = reportParameters.ConnectionObject;
            }

            if (connectionObject != null)
            {
                accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings, connectionObject);
            }
            else
            {
                accesStrategy = new SqlDataAccessStrategy(reportModel.ReportSettings, null);
            }
            dataManager = DataManager.CreateInstance(reportModel.ReportSettings, accesStrategy);
            if (dataManager == null)
            {
                throw new MissingDataManagerException();
            }
            return(dataManager);
        }
예제 #20
0
		public static FormPageBuilder CreateInstance(IReportModel reportModel)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			FormPageBuilder instance = new FormPageBuilder(reportModel);
			return instance;
		}
        public void LoadModelFromStream()
        {
            System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
            var stream = asm.GetManifestResourceStream(TestHelper.ReportFromList);
            var rf     = new ReportingFactory();

            model = rf.LoadReportModel(stream);
        }
        public void LoadModelFromStream()
        {
            Assembly asm    = Assembly.GetExecutingAssembly();
            var      stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems);
            var      rf     = new ReportingFactory();

            model = rf.LoadReportModel(stream);
        }
예제 #23
0
		public BasePageBuilder(IReportModel reportModel)
		{
			if (reportModel == null) {
				 throw new ArgumentNullException("reportModel");
			}
			ReportModel = reportModel;
			Pages = new Collection<IPage>();
			graphics = CreateGraphics.FromSize(reportModel.ReportSettings.PageSize);
		}
예제 #24
0
        private static void SetSqlParam(IReportModel model, SqlParameter param)
        {
            var p = model.ReportSettings.SqlParameters.Find(param.ParameterName);

            if (p != null)
            {
                p.ParameterValue = param.ParameterValue;
            }
        }
예제 #25
0
        private static void SetReportParam(IReportModel model, BasicParameter param)
        {
            var p = model.ReportSettings.ParameterCollection.Find(param.ParameterName);

            if (p != null)
            {
                p.ParameterValue = param.ParameterValue;
            }
        }
예제 #26
0
        private static void SetSqlParam(IReportModel model, SqlParameter param)
        {
            Console.WriteLine("ReportEngine:SetSqlparameters");
            var p = model.ReportSettings.SqlParameters.Find(param.ParameterName);

            if (p != null)
            {
                p.ParameterValue = param.ParameterValue;
            }
        }
예제 #27
0
        public static FormPageBuilder CreateInstance(IReportModel reportModel)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }
            FormPageBuilder instance = new FormPageBuilder(reportModel);

            return(instance);
        }
예제 #28
0
        private static IReportModel ValidatePushModel(string fileName)
        {
            IReportModel model = LoadReportModel(fileName);

            if (model.ReportSettings.DataModel != GlobalEnums.PushPullModel.PushData)
            {
                throw new InvalidReportModelException();
            }
            return(model);
        }
예제 #29
0
        ISinglePage CreateSinglePage(IReportModel model, int pageNumber)
        {
            Size defaultSectionSize = new Size(727, 60);
            var  s = new SectionBounds(model.ReportSettings, true);

            SinglePage sp = new SinglePage(s, 0);

            sp.CalculatePageBounds(model);
            return(sp);
        }
예제 #30
0
        private static void SetReportParam(IReportModel model, BasicParameter param)
        {
            Console.WriteLine("ReportEngine:SetReportParameters");
            var p = model.ReportSettings.ParameterCollection.Find(param.ParameterName);

            if (p != null)
            {
                p.ParameterValue = param.ParameterValue;
            }
        }
 public BasePageBuilder(IReportModel reportModel)
 {
     if (reportModel == null)
     {
         throw new ArgumentNullException("reportModel");
     }
     ReportModel = reportModel;
     Pages       = new Collection <ExportPage>();
     Graphics    = CreateGraphics.FromSize(reportModel.ReportSettings.PageSize);
 }
		public AbstractDataRenderer(IReportModel model,
		                            IDataManager dataManager,
		                            ReportDocument reportDocument,
		                            ILayouter layout):base(model,reportDocument,layout)
		                           
		{
			if (dataManager == null) {
				throw new ArgumentNullException("dataManager");
			}
			this.dataManager = dataManager;
		}
예제 #33
0
		public static IReportCreator CreateInstance(IReportModel reportModel, IDataManager dataManager)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			if (dataManager == null) {
				throw new ArgumentNullException("dataManager");
			}
			DataPageBuilder instance = new DataPageBuilder(reportModel,dataManager);
			return instance;
		}
예제 #34
0
		public void CalculatePageBounds(IReportModel reportModel)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}

			sectionBounds.CalculatePageBounds(reportModel);
			this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X,sectionBounds.DetailArea.Top,
			                                                                         reportModel.DetailSection.Size.Width,
			                                                                         reportModel.DetailSection.Size.Height);
		}
예제 #35
0
        /// <summary>
        /// For internal use only
        /// </summary>
        /// <param name="reportModel"></param>
        /// <returns></returns>

        public static IReportCreator CreatePageBuilder(IReportModel reportModel)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }
            IDataManager   dataMan = DataManagerFactory.CreateDataManager(reportModel, (ReportParameters)null);
            IReportCreator builder = DataPageBuilder.CreateInstance(reportModel, dataMan);

            return(builder);
        }
예제 #36
0
		public BasePager(IReportModel reportModel)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
		
			this.ReportModel = reportModel;
			//this.Layouter = layouter;
			this.Layouter = new Layouter();
			this.Graphics = CreateGraphicObject.FromSize(this.ReportModel.ReportSettings.PageSize);
		}
예제 #37
0
        public void Calculate_PageHeader()
        {
            IReportModel model      = ReportModel.Create();
            ISinglePage  singlePage = CreateSinglePage(model, 0);

            singlePage.CalculatePageBounds(model);

            Point expectedLocation = new Point(model.ReportSettings.LeftMargin, model.ReportSettings.TopMargin + singlePage.SectionBounds.ReportHeaderRectangle.Size.Height + 1);

            Assert.That(singlePage.SectionBounds.PageHeaderRectangle.Location, Is.EqualTo(expectedLocation));
        }
예제 #38
0
        public void CalculatePageBounds(IReportModel reportModel)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }

            sectionBounds.CalculatePageBounds(reportModel);
            this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X, sectionBounds.DetailArea.Top,
                                                                                     reportModel.DetailSection.Size.Width,
                                                                                     reportModel.DetailSection.Size.Height);
        }
예제 #39
0
        public BasePager(IReportModel reportModel)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }

            this.ReportModel = reportModel;
            //this.Layouter = layouter;
            this.Layouter = new Layouter();
            this.Graphics = CreateGraphicObject.FromSize(this.ReportModel.ReportSettings.PageSize);
        }
예제 #40
0
        public AbstractDataRenderer(IReportModel model,
                                    IDataManager dataManager,
                                    ReportDocument reportDocument,
                                    ILayouter layout) : base(model, reportDocument, layout)

        {
            if (dataManager == null)
            {
                throw new ArgumentNullException("dataManager");
            }
            this.dataManager = dataManager;
        }
예제 #41
0
		public BasePager(IReportModel reportModel,ILayouter layouter)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			if (layouter == null) {
				throw new ArgumentNullException ("layouter");
			}
			this.reportModel = reportModel;
			this.layouter = layouter;
			this.graphics = CreateGraphicObject.FromSize(this.reportModel.ReportSettings.PageSize);
		}
예제 #42
0
		public static IReportCreator CreateInstance(IReportModel reportModel, IDataManager dataManager)
//		public static IReportCreator CreateInstance(IReportModel reportModel, IDataManager dataManager,ILayouter layouter)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			if (dataManager == null) {
				throw new ArgumentNullException("dataManager");
			}
			DataPageBuilder instance = new DataPageBuilder(reportModel,dataManager);
			return instance;
		}
예제 #43
0
		public static IDataManager CreateDataManager (IReportModel reportModel,IList dataTable)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			if (dataTable == null) {
				throw new ArgumentNullException("dataTable");
			}
			IDataManager dataManager = DataManager.CreateInstance(dataTable,reportModel.ReportSettings);
			if (dataManager == null) {
				throw new MissingDataManagerException();
			}
			return dataManager;
		}
        public static StringWriter ToXml(IReportModel reportModel)
        {
            int locY = reportModel.ReportSettings.TopMargin;

                foreach (var section in reportModel.SectionCollection)
                {
                    section.Location = new Point(reportModel.ReportSettings.LeftMargin,locY);
                    section.Size = new Size(reportModel.ReportSettings.PrintableWidth(),GlobalValues.DefaultSectionHeight + 10);
                    locY = locY + section.Size.Height + DesignerGlobals.GabBetweenSection;
                }

                var xml = ToXmlInternal(reportModel);
            return xml;
        }
예제 #45
0
		public BasePager(IReportModel reportModel)
		{
			if (reportModel == null) {
				throw new ArgumentNullException("reportModel");
			}
			
			this.ReportModel = reportModel;
			
			if (!ServiceContainer.Contains(typeof(ILayouter))) {
				ServiceContainer.AddService<ILayouter>(new Layouter());
			}
			
			this.Graphics = CreateGraphicObject.FromSize(this.ReportModel.ReportSettings.PageSize);
		}
예제 #46
0
        /// <summary>
        /// For internal use only
        /// </summary>
        /// <param name="reportModel"></param>
        /// <returns></returns>

        /*
         * internal static IReportCreator CreatePageBuilder (IReportModel reportModel)
         * {
         *      if (reportModel == null) {
         *              throw new ArgumentNullException("reportModel");
         *      }
         *      IDataManager dataMan  = DataManagerFactory.CreateDataManager(reportModel,(ReportParameters)null);
         *      IReportCreator builder = DataPageBuilder.CreateInstance(reportModel, dataMan);
         *      return builder;
         * }
         */

        /// <summary>
        ///
        /// </summary>
        /// <param name="reportModel"></param>
        /// <param name="dataSet"></param>
        /// <param name="reportParameter"></param>
        /// <returns></returns>
        public static IReportCreator CreatePageBuilder(IReportModel reportModel,
                                                       DataSet dataSet,
                                                       ReportParameters reportParameter)
        {
            if (reportModel == null)
            {
                throw new ArgumentNullException("reportModel");
            }
            if (dataSet == null)
            {
                throw new ArgumentNullException("dataSet");
            }
            return(CreatePageBuilder(reportModel, dataSet.Tables[0], reportParameter));
        }
예제 #47
0
		public BaseConverter(IReportModel reportModel,IDataNavigator dataNavigator,ExporterPage singlePage)
		{
			if (dataNavigator == null) {
				throw new ArgumentNullException("dataNavigator");
			}
			if (singlePage == null) {
				throw new ArgumentNullException("singlePage");
			}
			this.ReportModel = reportModel;

			this.SinglePage = singlePage;
			this.DataNavigator = dataNavigator;
			this.Layouter =  (ILayouter)ServiceContainer.GetService(typeof(ILayouter));
			this.Evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.DataNavigator);
		}
예제 #48
0
		public static AbstractRenderer Create(IReportModel model,IDataManager container) {
			ReportDocument repDocumet = new ReportDocument();
			if (model != null) {
				Layouter layouter = new Layouter();
				switch (model.ReportSettings.ReportType) {
						case GlobalEnums.ReportType.FormSheet :{
							return new RenderFormSheetReport(model,repDocumet,layouter);
						}
						case GlobalEnums.ReportType.DataReport:{
							return new RenderDataReport(model,container,repDocumet,layouter);
						}
				}
			}
			throw  new MissingModelException();
		}
예제 #49
0
		public static IBaseConverter CreateConverter (BaseReportItem itemToConvert,IReportModel reportModel,
		                                              IDataNavigator dataNavigator,ExporterPage singlePage)
		                                             
		{
			Type t = itemToConvert.GetType();
			if (t.Equals(typeof(BaseTableItem))) {
				return new GroupedTableConverter(reportModel,dataNavigator,singlePage);
			}
			
			if (t.Equals(typeof(BaseRowItem))) {
				return new GroupedRowConverter (reportModel,dataNavigator,singlePage);
			}
			
			return null;
		}
		public StringWriter ToXml(IReportModel reportModel) {
			int locY = reportModel.ReportSettings.TopMargin;
			
				foreach (var section in reportModel.SectionCollection)
				{
					section.Location = new Point(reportModel.ReportSettings.LeftMargin,locY);
					section.Size = new Size(reportModel.ReportSettings.PageSize.Width - reportModel.ReportSettings.LeftMargin - reportModel.ReportSettings.RightMargin,
						70);
					locY = locY + section.Size.Height + DesignerGlobals.GabBetweenSection;
				}
	
				
				var xml = ToXmlInternal(reportModel);
			return xml;
		}
예제 #51
0
        public IReportCreator ReportCreator(string fileName,IEnumerable list)
        {
            if (String.IsNullOrEmpty(fileName)) {
                throw new ArgumentNullException("fileName");
            }
            var doc = new XmlDocument();
            try {
                doc.Load(fileName);
            } catch (Exception e) {
                throw e;
            }

            ReportModel = LoadModel(doc);
            var builder = new DataPageBuilder(ReportModel,list);
            return builder;
        }
예제 #52
0
		protected AbstractRenderer(IReportModel reportModel,ReportDocument reportDocument,ILayouter layout)
		{
			if (reportModel == null) {
				throw new MissingModelException();
			}
			if (reportDocument == null) {
				throw new ArgumentNullException("reportDocument");
			}
			if (layout == null) {
				throw new ArgumentNullException("layout");
			}
			this.reportModel = reportModel;
			this.reportSettings = reportModel.ReportSettings;
			this.reportDocument = reportDocument;
			this.layout = layout;
			this.sections = reportModel.SectionCollection;
			Init();
		}
예제 #53
0
		public static IReportCreator ExporterFactory(IReportModel reportModel)
		{
			IReportCreator reportCreator = null;
			switch (reportModel.ReportSettings.DataModel) {
				case GlobalEnums.PushPullModel.FormSheet:
					{
						reportCreator = new FormPageBuilder(reportModel);
						break;
					}

				case GlobalEnums.PushPullModel.PullData:
					{
						break;
					}

				case GlobalEnums.PushPullModel.PushData:
					{
						break;
					}

			}
			return reportCreator;
		}
		public RenderFormSheetReport (IReportModel model,
		                              ReportDocument reportDcoument,
		                             ILayouter layout):base( model,reportDcoument,layout)
		{
		}
예제 #55
0
		ISinglePage CreateSinglePage(IReportModel model,int pageNumber)
		{
			Size defaultSectionSize = new Size (727,60);
			var  s = new SectionBounds(model.ReportSettings,true);
			
			SinglePage sp = new SinglePage(s,0);
			sp.CalculatePageBounds(model);
			return sp;
		}
예제 #56
0
		private DataPageBuilder (IReportModel reportModel,IDataManager dataManager,ILayouter layouter):base(reportModel,layouter) 
		{
			this.dataManager = dataManager;
		}
예제 #57
0
		public FormPageBuilder(IReportModel reportModel):base(reportModel)
		{
			
		}
예제 #58
0
		public GroupedRowConverter(IReportModel reportModel,IDataNavigator dataNavigator,
		                           ExporterPage singlePage):base(reportModel,dataNavigator,singlePage)
		{
		}
예제 #59
0
		public RenderDataReport(IReportModel model,
		                        IDataManager dataManager,
		                        ReportDocument reportDocument,
		                        ILayouter layout):base (model,dataManager,reportDocument,layout)
		{
		}
예제 #60
0
		private FormPageBuilder(IReportModel reportModel):base(reportModel)
		{
		}