/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="report">report document</param>
        /// <param name="data">report data</param>
        /// <exception cref="ArgumentException">Flow document must have a specified page height</exception>
        /// <exception cref="ArgumentException">Flow document must have a specified page width</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report header section</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report footer section</exception>
        public ReportPaginator(ReportDocument report, ReportData data)
        {
            _report = report;
            _data = data;

            _flowDocument = report.CreateFlowDocument();
            _pageSize = new Size(_flowDocument.PageWidth, _flowDocument.PageHeight);

            if (_flowDocument.PageHeight == double.NaN) throw new ArgumentException("Flow document must have a specified page height");
            if (_flowDocument.PageWidth == double.NaN) throw new ArgumentException("Flow document must have a specified page width");

            _dynamicCache = new ReportPaginatorDynamicCache(_flowDocument);
            ArrayList listPageHeaders = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportHeader));
            if (listPageHeaders.Count > 1) throw new ArgumentException("Flow document can have only one report header section");
            if (listPageHeaders.Count == 1) _blockPageHeader = (SectionReportHeader)listPageHeaders[0];
            ArrayList listPageFooters = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportFooter));
            if (listPageFooters.Count > 1) throw new ArgumentException("Flow document can have only one report footer section");
            if (listPageFooters.Count == 1) _blockPageFooter = (SectionReportFooter)listPageFooters[0];

            _paginator = ((IDocumentPaginatorSource)_flowDocument).DocumentPaginator;

            // remove header and footer in our working copy
            Block block = _flowDocument.Blocks.FirstBlock;
            while (block != null)
            {
                Block thisBlock = block;
                block = block.NextBlock;
                if ((thisBlock == _blockPageHeader) || (thisBlock == _blockPageFooter)) _flowDocument.Blocks.Remove(thisBlock);
            }

            // get report context values
            _reportContextValues = _dynamicCache.GetFlowDocumentVisualListByInterface(typeof(IInlineContextValue));

            FillData();
        }
Example #2
0
		public ReportData GetData()
		{
			var data = new ReportData();
			var table = new DataTable("Devices");
			table.Columns.Add("Type");
			table.Columns.Add("Address");
			table.Columns.Add("Zone");

			if (GKManager.Devices.IsNotNullOrEmpty())
			{
				foreach (var device in GKManager.Devices)
				{
					if (device.DriverType == GKDriverType.System)
						continue;
					if (device.Driver.IsGroupDevice)
						continue;

					var type = device.ShortName;
					var address = device.DottedPresentationAddress;
					var zonePresentationName = GKManager.GetPresentationZoneOrLogic(device);
					table.Rows.Add(type, address, zonePresentationName);
				}
			}
			data.DataTables.Add(table);
			PdfProvider.ReportData = data;
			return data;
		}
Example #3
0
        public ReportData GetData()
        {
            var data = new ReportData();

            DataTable table = new DataTable("Devices");
            table.Columns.Add("Type");
            table.Columns.Add("Address");
            table.Columns.Add("Zone");

            if (FiresecManager.Devices.IsNotNullOrEmpty())
            {
                string type = "";
                string address = "";
                string zonePresentationName = "";
                foreach (var device in FiresecManager.Devices)
                {
                    zonePresentationName = "";
                    type = device.Driver.ShortName;
                    address = device.DottedAddress;
                    zonePresentationName = FiresecManager.FiresecConfiguration.GetPresentationZone(device);
                    table.Rows.Add(type, address, zonePresentationName);
                }
            }
            data.DataTables.Add(table);
            return data;
        }
Example #4
0
		public ReportData GetData()
		{
			var data = new ReportData();

			DataTable table = new DataTable("Devices");
			table.Columns.Add("Type");
			table.Columns.Add("Address");
			table.Columns.Add("Zone");
			table.Columns.Add("Dustiness");
			table.Columns.Add("FailureType");

			if (FiresecManager.Devices.IsNotNullOrEmpty())
			{
				string type = "";
				string address = "";
				string zonePresentationName = "";
				string dustiness = "";
				string failureType = "";
				foreach (var device in FiresecManager.Devices)
				{
					if (device.Driver.Category == DeviceCategoryType.Other || device.Driver.Category == DeviceCategoryType.Communication)
						continue;

					type = device.Driver.ShortName;
					address = device.DottedAddress;
					zonePresentationName = "";
					dustiness = "";
					failureType = "";

					if (device.Driver.IsZoneDevice)
					{
						if (FiresecManager.Zones.IsNotNullOrEmpty())
						{
							var zone = FiresecManager.Zones.FirstOrDefault(x => x.UID == device.ZoneUID);
							if (zone != null)
								zonePresentationName = zone.PresentationName;
						}
					}

					var deviceState = device.DeviceState;
					var parameter = deviceState.ThreadSafeParameters.FirstOrDefault(x => (x.Name == "Dustiness"));
					if (parameter != null)
					{
						if (!parameter.IsIgnore)
							dustiness = parameter.Value;
					}
					parameter = deviceState.ThreadSafeParameters.FirstOrDefault(x => (x.Name == "FailureType"));
					if (parameter != null)
					{
						if (!parameter.IsIgnore)
							failureType = parameter.Value;
					}
					table.Rows.Add(type, address, zonePresentationName, dustiness, failureType);
				}
			}
			data.DataTables.Add(table);
			return data;
		}
        /// <summary>
        /// Window has been activated
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">event details</param>
        private void Window_Activated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new Action(delegate
            {
                try
                {
                    ReportDocument reportDocument = new ReportDocument();

                    StreamReader reader = new StreamReader(new FileStream(@"Templates\BarcodeReport.xaml", FileMode.Open, FileAccess.Read));
                    reportDocument.XamlData = reader.ReadToEnd();
                    reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                    reader.Close();

                    ReportData data = new ReportData();

                    // set constant document values
                    data.ReportDocumentValues.Add("PrintDate", DateTime.Now); // print date is now

                    // sample table "Ean"
                    DataTable table = new DataTable("Ean");
                    table.Columns.Add("Position", typeof(string));
                    table.Columns.Add("Item", typeof(string));
                    table.Columns.Add("EAN", typeof(string));
                    table.Columns.Add("Count", typeof(int));
                    Random rnd = new Random(1234);
                    for (int i = 1; i <= 100; i++)
                    {
                        // randomly create some items
                        StringBuilder sb = new StringBuilder();
                        for (int j = 1; j <= 13; j++) sb.Append(rnd.Next(10));
                        table.Rows.Add(new object[] { i, "Item " + i.ToString("0000"), sb.ToString(), rnd.Next(9) + 1 });
                    }
                    data.DataTables.Add(table);

                    DateTime dateTimeStart = DateTime.Now; // start time measure here

                    XpsDocument xps = reportDocument.CreateXpsDocument(data);
                    documentViewer.Document = xps.GetFixedDocumentSequence();

                    // show the elapsed time in window title
                    Title += " - generated in " + (DateTime.Now - dateTimeStart).TotalMilliseconds + "ms";
                }
                catch (Exception ex)
                {
                    // show exception
                    MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
                }
                finally
                {
                    busyDecorator.IsBusyIndicatorHidden = true;
                }
            }));
        }
Example #6
0
        private void WindowActivated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            try
            {
                var reportDocument = new ReportDocument();

                String appStartPath = System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);

                var reader =
                    new StreamReader(new FileStream(appStartPath + @"\LPReport\ReportTemplate\StandardTemplate.xaml", FileMode.Open,
                                                    FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory,appStartPath + @"\LPReport\ReportTemplate");
                reader.Close();

                var data = new ReportData();
                data.ReportDocumentValues.Add("PrintDate", DateTime.Now); // print date is now

                List<LPConstraint> constraint = _model.GetConstraint;
                string strConstraints = constraint.Aggregate("",
                                                             (current, variable) =>
                                                             current +
                                                             String.Format("{0}{1}", variable.ToString(),
                                                                           Environment.NewLine));

                data.ReportDocumentValues.Add("ModelGoal", _model.GoalKind.ToString() + " : " + _model.Objective);
                // print date is now
                data.ReportDocumentValues.Add("ModelConstraints", strConstraints); // print date is now

                IModelSolver solver = new MicrosoftSolverFoundation(_model);
                solver.TrySolve();

                string result = solver.GetResult();

                result = result.Substring(result.IndexOf("===Solution Details===", System.StringComparison.Ordinal));

                data.ReportDocumentValues.Add("ReportSec", result);

                //TABLE Goes Here

                DateTime dateTimeStart = DateTime.Now; // start time measure here

                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();

                // show the elapsed time in window title
                Title += string.Format(" - Generated in {0}ms", (DateTime.Now - dateTimeStart).TotalMilliseconds);
            }
            catch (Exception)
            {
            }
        }
        /// <summary>
        /// Window has been activated
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">event details</param>
        private void Window_Activated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            try
            {
                ReportDocument reportDocument = new ReportDocument();

                StreamReader reader = new StreamReader(new FileStream(@"Templates\ComplexReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                DateTime dateTimeStart = DateTime.Now; // start time measure here

                List<ReportData> listData = new List<ReportData>();
                for (int i = 0; i < 5; i++) // generates five reports
                {
                    ReportData data = new ReportData();

                    // set constant document values
                    data.ReportDocumentValues.Add("PrintDate", dateTimeStart); // print date is now
                    data.ReportDocumentValues.Add("ReportNumber", (i + 1)); // report number

                    // sample table "Ean"
                    DataTable table = new DataTable("Ean");
                    table.Columns.Add("Position", typeof(string));
                    table.Columns.Add("Item", typeof(string));
                    table.Columns.Add("EAN", typeof(string));
                    table.Columns.Add("Count", typeof(int));
                    Random rnd = new Random(1234 + i);
                    int count = rnd.Next(20) * (rnd.Next(2) + 1);
                    for (int j = 1; j <= count; j++)
                    {
                        // randomly create some articles
                        table.Rows.Add(new object[] { j, "Item " + (j + (1000 * (i + 1))).ToString("0000"), "123456790123", rnd.Next(9) + 1 });
                    }
                    data.DataTables.Add(table);
                    listData.Add(data);
                }

                XpsDocument xps = reportDocument.CreateXpsDocument(listData);
                documentViewer.Document = xps.GetFixedDocumentSequence();

                // show the elapsed time in window title
                Title += " - generated in " + (DateTime.Now - dateTimeStart).TotalMilliseconds + "ms";
            }
            catch (Exception ex)
            {
                // show exception
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }
        public void DocViewerLoaded(DocumentViewer documentViewer)
        {
            try
            {
                ReportDocument reportDocument = new ReportDocument();
                reportDocument.ImageProcessing += reportDocument_ImageProcessing;
                reportDocument.ImageError += reportDocument_ImageError;

                StreamReader reader =
                    new StreamReader(new FileStream(@"Templates\EndoscopyResults.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                ReportData data = new ReportData();

                //Clinic info
                if (_clinic != null)
                {
                    data.ReportDocumentValues.Add("ClinicName", _clinic.Name.ToUpper());
                    data.ReportDocumentValues.Add("ClinicAddress", _clinic.Address);
                    data.ReportDocumentValues.Add("ClinicPhone", _clinic.Phone);
                }

                //Patient info
                data.ReportDocumentValues.Add("PatientName", _patient.Name.ToUpper());
                data.ReportDocumentValues.Add("BirthDay", "Ngày sinh:  " + _patient.Birthday);
                data.ReportDocumentValues.Add("Address", _patient.Address);
                data.ReportDocumentValues.Add("Sex", "Giới tính:  " + _patient.Sex);
                data.ReportDocumentValues.Add("Diagnose", _session.Diagnose);
                data.ReportDocumentValues.Add("Type", _esRecord.EndoscopyType.Name);

                //Endoscopy results
                data.ReportDocumentValues.Add("Result", _esRecord.Result);

                //Note
                string tmp = "Ngày " + string.Format("{0:dd}", _session.Date) + " tháng " +
                             string.Format("{0:MM}", _session.Date)
                             + " năm " + String.Format("{0:yyyy}", _session.Date);
                data.ReportDocumentValues.Add("Date", tmp);
                data.ReportDocumentValues.Add("DoctorName", _session.DoctorName);

                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                IsBusyHidden = true;
                NotifyOfPropertyChange(() => IsBusyHidden);
            }
        }
        // ReSharper restore InconsistentNaming

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="report">report document</param>
        /// <param name="data">report data</param>
        /// <exception cref="ArgumentException">Flow document must have a specified page height</exception>
        /// <exception cref="ArgumentException">Flow document must have a specified page width</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report header section</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report footer section</exception>
        public ReportPaginator(ReportDocument report, ReportData data, Action<int, int> PageGeneratedCallBack = null, FlowDocument flowDocument = null)
        {
            _report = report;
            _data = data;
            _pageGeneratedCallBack = PageGeneratedCallBack;

            _flowDocument = flowDocument;
            if (_flowDocument == null) 
                _flowDocument = report.CreateFlowDocument();

            _pageSize = new Size(_flowDocument.PageWidth, _flowDocument.PageHeight);

            if (_flowDocument.PageHeight == double.NaN) throw new ArgumentException("Flow document must have a specified page height");
            if (_flowDocument.PageWidth == double.NaN) throw new ArgumentException("Flow document must have a specified page width");

            _dynamicCache = new ReportPaginatorDynamicCache(_flowDocument);
            ArrayList listPageHeaders = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportHeader));
            if (listPageHeaders.Count > 1) throw new ArgumentException("Flow document can have only one report header section");
            if (listPageHeaders.Count == 1) _blockPageHeader = (SectionReportHeader)listPageHeaders[0];
            ArrayList listPageFooters = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportFooter));
            if (listPageFooters.Count > 1) throw new ArgumentException("Flow document can have only one report footer section");
            if (listPageFooters.Count == 1) _blockPageFooter = (SectionReportFooter)listPageFooters[0];

            _paginator = ((IDocumentPaginatorSource)_flowDocument).DocumentPaginator;

            // remove header and footer in our working copy
            Block block = _flowDocument.Blocks.FirstBlock;
            while (block != null)
            {
                Block thisBlock = block;
                block = block.NextBlock;
                if ((thisBlock == _blockPageHeader) || (thisBlock == _blockPageFooter)) _flowDocument.Blocks.Remove(thisBlock);
            }

            // get report context values
            _reportContextValues = _dynamicCache.GetFlowDocumentVisualListByInterface(typeof(IInlineContextValue));

            FillData();

            /*Application.Current.Dispatcher.Invoke(new Action(() =>
                {
                    Window aa = new Window();
                    FlowDocumentPageViewer bb = new FlowDocumentPageViewer();
                    bb.Document = _flowDocument;
                    aa.Content = bb;
                    aa.SizeToContent = SizeToContent.WidthAndHeight;
                    aa.ShowDialog();
                }));*/
        }
		public IEnumerable<ReportData> GetData()
		{
			var fullData = new List<ReportData>();

			var IndicationBlockList = new List<IndicationBlocksList>();
			if (FiresecManager.Devices.IsNotNullOrEmpty())
			{
				var devices = FiresecManager.Devices.FindAll(x => (x.Driver.DriverType == DriverType.IndicationBlock));
				foreach (var device in devices)
					IndicationBlockList.Add(new IndicationBlocksList(device));
			}

			foreach (var block in IndicationBlockList)
				foreach (var page in block.Pages)
				{
					var data = new ReportData();
					data.ReportDocumentValues.Add("IndicationBlockNumber", block.IndicationBlockNumber);
					data.ReportDocumentValues.Add("PageNumber", page.PageNumber.ToString());

					DataTable table = new DataTable("Records");
					table.Columns.Add("NumberFirstColumn");
					table.Columns.Add("PresentationNameFirstColumn");
					table.Columns.Add("NumberSecondColumn");
					table.Columns.Add("PresentationNameSecondColumn");
					table.Columns.Add("NumberThirdColumn");
					table.Columns.Add("PresentationNameThirdColumn");
					table.Columns.Add("NumberFourthColumn");
					table.Columns.Add("PresentationNameFourthColumn");
					table.Columns.Add("NumberFifthColumn");
					table.Columns.Add("PresentationNameFifthColumn");
					for (int i = 0; i < 10; i++)
					{
						table.Rows.Add(
							page.ElementsPage[i].No.ToString(),
							page.ElementsPage[i].PresentationName.ToString(),
							page.ElementsPage[i + 10].No.ToString(),
							page.ElementsPage[i + 10].PresentationName.ToString(),
							page.ElementsPage[i + 20].No.ToString(),
							page.ElementsPage[i + 20].PresentationName.ToString(),
							page.ElementsPage[i + 30].No.ToString(),
							page.ElementsPage[i + 30].PresentationName.ToString(),
							page.ElementsPage[i + 40].No.ToString(),
							page.ElementsPage[i + 40].PresentationName.ToString());
					}
					data.DataTables.Add(table);
					fullData.Add(data);
				}
			return fullData;
		}
Example #11
0
		public ReportData GetData()
		{
			var data = new ReportData();

			DataTable table = new DataTable("Devices");
			table.Columns.Add("Driver");
			table.Columns.Add("Count");
			foreach (var driver in from Driver d in FiresecManager.Drivers orderby d.ShortName select d)
			{
				if (driver.IsAutoCreate || driver.DriverType == DriverType.Computer)
					continue;
				AddDrivers(driver, table);
			}
			data.DataTables.Add(table);
			return data;
		}
Example #12
0
		public ReportData GetData()
		{
			var data = new ReportData();

			var table = new DataTable("Devices");
			table.Columns.Add("Driver", typeof(string));
			table.Columns.Add("Count", typeof(int));
			foreach (var driver in  DriversRepository.Drivers)
			{
				if (driver.IsAutoCreate || driver.DriverType == GKDriverType.System)
					continue;
				AddDrivers(driver, table);
			}
			data.DataTables.Add(table);
			PdfProvider.ReportData = data;
			return data;
		}
Example #13
0
        public ReportData GetData()
        {
            ReportArchiveFilter.LoadArchive();
            var data = new ReportData();
            data.ReportDocumentValues.Add("StartDate", ReportArchiveFilter.StartDate);
            data.ReportDocumentValues.Add("EndDate", ReportArchiveFilter.EndDate);

            DataTable table = new DataTable("Journal");
            table.Columns.Add("DeviceTime");
            table.Columns.Add("SystemTime");
            table.Columns.Add("ZoneName");
            table.Columns.Add("Description");
            table.Columns.Add("DeviceName");
            table.Columns.Add("PanelName");
            table.Columns.Add("User");
            foreach (var journalRecord in ReportArchiveFilter.JournalRecords)
                table.Rows.Add(journalRecord.DeviceTime, journalRecord.SystemTime, journalRecord.ZoneName, journalRecord.Description, journalRecord.DeviceName, journalRecord.PanelName, journalRecord.User);
            data.DataTables.Add(table);
            return data;
        }
Example #14
0
		public ReportData GetData()
		{
			var data = new ReportData();

			var table = new DataTable("Devices");
			table.Columns.Add("Type");
			table.Columns.Add("Address");
			table.Columns.Add("Zone");
			table.Columns.Add("Dustiness");

			if (GKManager.Devices.IsNotNullOrEmpty())
			{
				string type = "";
				string address = "";
				string zonePresentationName = "";
				string dustiness = "";
				foreach (var device in GKManager.Devices)
				{
					type = device.Driver.ShortName;
					address = device.DottedAddress;
					zonePresentationName = "";
					dustiness = "";

					if (device.Driver.HasZone)
					{
						zonePresentationName = GKManager.GetPresentationZoneOrLogic(device);
					}

					var deviceState = device.State;
					var parameter = deviceState.XMeasureParameterValues.FirstOrDefault(x => x.Name == "Dustiness");
					if (parameter != null)
					{
						dustiness = parameter.StringValue;
					}
					table.Rows.Add(type, address, zonePresentationName, dustiness);
				}
			}
			data.DataTables.Add(table);
			PdfProvider.ReportData = data;
			return data;
		}
Example #15
0
        public ReportData GetData()
        {
            var data = new ReportData();

            DataTable table = new DataTable("Devices");
            table.Columns.Add("Driver");
            table.Columns.Add("Count");
            //DataList = new List<ReportDriverCounterModel>();
            foreach (var driver in FiresecManager.Drivers)
                if (driver.IsPlaceable && driver.DriverType != DriverType.Computer)
                    AddDrivers(driver, table);
                else
                    switch (driver.DriverType)
                    {
                        case DriverType.IndicationBlock:
                            AddDrivers(driver, table);
                            break;
                        case DriverType.MS_1:
                            AddDrivers(driver, table);
                            break;
                        case DriverType.MS_2:
                            AddDrivers(driver, table);
                            break;
                        case DriverType.MS_3:
                            AddDrivers(driver, table);
                            break;
                        case DriverType.MS_4:
                            AddDrivers(driver, table);
                            break;
                        default:
                            break;
                    }
            //DataList.Add(new ReportDriverCounterModel()
            //{
            //    DriverName = "Всего устройств",
            //    Count = CountDrivers()
            //});

            data.DataTables.Add(table);
            return data;
        }
Example #16
0
		public ReportData GetData()
		{
			ReportArchiveFilter.LoadArchive();
			var data = new ReportData();
			data.ReportDocumentValues.Add("StartDate", ReportArchiveFilter.StartDate);
			data.ReportDocumentValues.Add("EndDate", ReportArchiveFilter.EndDate);

			var table = new DataTable("Journal");
			table.Columns.Add("DeviceDateTime");
			table.Columns.Add("SystemDateTime");
			table.Columns.Add("Name");
			table.Columns.Add("Description");
			table.Columns.Add("ObjectName");
			foreach (var journalItem in ReportArchiveFilter.JournalItems)
			{
				var journalItemViewModel = new JournalItemViewModel(journalItem);
				var objectName = "";
				if (journalItemViewModel.Device != null)
				{
					objectName = journalItemViewModel.Device.PresentationName;
				}
				if (journalItemViewModel.Zone != null)
				{
					objectName = journalItemViewModel.Zone.PresentationName;
				}
				if (journalItemViewModel.Direction != null)
				{
					objectName = journalItemViewModel.Direction.PresentationName;
				}
				table.Rows.Add(
					journalItem.DeviceDateTime,
					journalItem.SystemDateTime,
					journalItem.Name,
					journalItem.Description,
					objectName);
			}
			data.DataTables.Add(table);
			PdfProvider.ReportData = data;
			return data;
		}
Example #17
0
		public ReportData GetData()
		{
			var data = new ReportData();
			if (ArchiveViewModel.Filter != null)
			{
				data.ReportDocumentValues.Add("StartDate", ArchiveViewModel.Filter.StartDate);
				data.ReportDocumentValues.Add("EndDate", ArchiveViewModel.Filter.EndDate);
			}
			else
			{
				data.ReportDocumentValues.Add("StartDate", DateTime.Now);
				data.ReportDocumentValues.Add("EndDate", DateTime.Now);
			}
			var table = new DataTable("Journal");
			table.Columns.Add("DeviceDateTime");
			table.Columns.Add("SystemDateTime");
			table.Columns.Add("Name");
			table.Columns.Add("Description");
			table.Columns.Add("ObjectName");

			//if (ArchiveViewModel.Pages != null)
			//{
			//	foreach (var page in ArchiveViewModel.Pages)
			//	{
			//		page.Create();
			//		foreach (var journalItem in page.JournalItems)
			//		{
			//			table.Rows.Add(
			//				journalItem.JournalItem.DeviceDateTime,
			//				journalItem.JournalItem.SystemDateTime,
			//				journalItem.Name,
			//				journalItem.Description,
			//				journalItem.ObjectName);
			//		}
			//	}
			//}
			data.DataTables.Add(table);
			PdfProvider.ReportData = data;
			return data;
		}
Example #18
0
		public ReportData GetData()
		{
			var data = new ReportData();
			var table = new DataTable("Devices");
			table.Columns.Add("Name");
			table.Columns.Add("Address");
			table.Columns.Add("DoorType");

			foreach (var device in GKManager.Devices)
			{
				if (device.Driver.IsCardReaderOrCodeReader)
				{
					var name = device.Name;
					var address = device.Address;
					var doorType = "";
					table.Rows.Add(name, address, doorType);
				}
			}
			data.DataTables.Add(table);
			PdfProvider.ReportData = data;
			return data;
		}
        /// <summary>
        /// Window has been activated
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">event details</param>
        private void Window_Activated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            try
            {
                ReportDocument reportDocument = new ReportDocument();
                reportDocument.ImageProcessing += reportDocument_ImageProcessing;
                reportDocument.ImageError += reportDocument_ImageError;

                StreamReader reader = new StreamReader(new FileStream(@"Templates\ImageReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                ReportData data = new ReportData();

                // set constant document values
                data.ReportDocumentValues.Add("PrintDate", DateTime.Now); // print date is now

                DateTime dateTimeStart = DateTime.Now; // start time measure here

                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();

                // show the elapsed time in window title
                Title += " - generated in " + (DateTime.Now - dateTimeStart).TotalMilliseconds + "ms";
            }
            catch (Exception ex)
            {
                // show exception
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }
Example #20
0
        private void WindowActivated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            try
            {
                var reportDocument = new ReportDocument();

                var reader =
                    new StreamReader(new FileStream(@"Templates\ReportTemplate-Method1.xaml", FileMode.Open,
                                                    FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                var data = new ReportData();
                data.ReportDocumentValues.Add("PrintDate", DateTime.Now); // print date is now

                int bearing1Life = 0;
                int bearing2Life = 0;
                int bearing3Life = 0;
                int bearing1Waste = 0;
                int bearing2Waste = 0;
                int bearing3Waste = 0;

                var table = new DataTable("Bearing1Table");
                FillDataTable(ref table, 0, out bearing1Life, out bearing1Waste);

                data.DataTables.Add(table);
                table = new DataTable("Bearing2Table");
                FillDataTable(ref table, 1, out bearing2Life, out bearing2Waste);
                data.DataTables.Add(table);

                table = new DataTable("Bearing3Table");
                FillDataTable(ref table, 2, out bearing3Life, out bearing3Waste);
                data.DataTables.Add(table);

                //fCumulativeLifetime

                var mtable = new DataTable("BearingsLife3DChart");
                mtable.Columns.Add("Bearing", typeof(string));
                mtable.Columns.Add("Total LifeSpan", typeof(int));
                mtable.Rows.Add(new object[] { "Bearing 1", bearing1Life });
                mtable.Rows.Add(new object[] { "Bearing 2", bearing2Life });
                mtable.Rows.Add(new object[] { "Bearing 3", bearing3Life });
                data.DataTables.Add(mtable);

                data.DataTables.Add(table);
                table = new DataTable("fCumulativeLifetime");
                table.Columns.Add("no", typeof(string));
                table.Columns.Add("CumulativeLifetime", typeof (string));
                table.Columns.Add("WastedTime", typeof (string));
                table.Rows.Add(new object[] { "Bearing 1", bearing1Life, bearing1Waste });
                table.Rows.Add(new object[] { "Bearing 2", bearing2Life, bearing2Waste });
                table.Rows.Add(new object[] { "Bearing 3", bearing3Life, bearing3Waste });

                data.DataTables.Add(table);

                mtable = new DataTable("BearingsWastes3DChart");
                mtable.Columns.Add("Bearing", typeof(string));
                mtable.Columns.Add("Waste Time", typeof(int));
                mtable.Rows.Add(new object[] { "Bearing 1", bearing1Waste });
                mtable.Rows.Add(new object[] { "Bearing 2", bearing2Waste });
                mtable.Rows.Add(new object[] { "Bearing 3", bearing3Waste });
                data.DataTables.Add(mtable);

                DateTime dateTimeStart = DateTime.Now; // start time measure here

                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();

                // show the elapsed time in window title
                Title += string.Format(" - Generated in {0}ms", (_time + (DateTime.Now - dateTimeStart)).TotalMilliseconds);
            }
            catch (Exception ex)
            {
                // show exception
                MessageBox.Show(string.Format("{0}\r\n\r\n{1}\r\n{2}", ex.Message, ex.GetType(), ex.StackTrace),
                                ex.GetType().ToString(),
                                MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }
        private void Window_Activated(object sender, EventArgs e)
        {
            try
            {
                ReportDocument reportDocument = new ReportDocument();
                StreamReader reader = new StreamReader(new FileStream(@"Templates\RevisionReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = System.IO.Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                ReportData data = new ReportData();
                DataAccess da = new DataAccess();

                // Таблица ТОВАРЫ В НАКЛАДНОЙ
                DataTable dt = new DataTable("mtable");

                // описываем столбцы таблицы
                dt.Columns.Add("t1", typeof(string));
                dt.Columns.Add("t2", typeof(string));
                dt.Columns.Add("t4", typeof(string));
                dt.Columns.Add("t5", typeof(string));
                dt.Columns.Add("t6", typeof(string));
                dt.Columns.Add("t7", typeof(string));

                // забиваем таблицу данными
                if (items == null)
                {
                    items = da.GetSpares();
                }
                try
                {
                    for (int i = 0; i < items.Count; i++)
                    {
                        dt.Rows.Add(new object[] {
                                    (i+1).ToString(),
                                    items[i].name,
                                    items[i].code,
                                    items[i].codeShatem,
                                    items[i].QRest,
                                    items[i].q_rest
                                });
                    }
                }
                catch (Exception exc)
                {
                    Marvin.Instance.Log(exc.Message);
                    throw exc;
                }
                string strDate = d.Day.ToString();
                string mnth = "";
                switch (d.Month)
                {
                    case 1:
                        mnth = "января";
                        break;

                    case 2:
                        mnth = "февраля";
                        break;

                    case 3:
                        mnth = "марта";
                        break;

                    case 4:
                        mnth = "апреля";
                        break;

                    case 5:
                        mnth = "мая";
                        break;

                    case 6:
                        mnth = "июня";
                        break;

                    case 7:
                        mnth = "июля";
                        break;

                    case 8:
                        mnth = "августа";
                        break;

                    case 9:
                        mnth = "сентября";
                        break;

                    case 10:
                        mnth = "октября";
                        break;

                    case 11:
                        mnth = "ноября";
                        break;

                    case 12:
                        mnth = "декабря";
                        break;
                }
                strDate += " " + mnth + " " + d.Year + " г.";

                data.ReportDocumentValues.Add("p1", strDate); // print date is now

                data.DataTables.Add(dt);

                DateTime dateTimeStart = DateTime.Now; // start time measure here

                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();
            }
            catch (Exception ex)
            {
                Marvin.Instance.Log(ex.Message);

                // show exception
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }
              /// <summary>
        /// Window has been activated
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">event details</param>
        private void Window_Activated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            try
            {
                ReportDocument reportDocument = new ReportDocument();
                StreamReader reader = new StreamReader(new FileStream(@"Templates\DynamicReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                DataTable tableHeader = null;
                DataTable tableData = null;
                object[] obj = null;
                ReportData data = new ReportData();

                // REPORT 1 DATA
                tableHeader = new DataTable("Header");
                tableData = new DataTable("Data");

                
                tableHeader.Columns.Add();
                tableHeader.Rows.Add(new object[] { "Service" });
                tableHeader.Rows.Add(new object[] { "Amount" });                
                tableHeader.Rows.Add(new object[] { "Price" });                
                tableData.Columns.Add();
                tableData.Columns.Add();
                tableData.Columns.Add();                
                obj = new object[3];
                for (int i = 0; i < 15; i++)                
                {
                    obj[0] = String.Format("Service oferted. Nº{0}", i);
                    obj[1] = i*2;                    
                    obj[2] = String.Format("{0} €", i);                    
                    tableData.Rows.Add(obj);
                }

                data.DataTables.Add(tableData);
                data.DataTables.Add(tableHeader);


                // REPORT 2 DATA
                tableHeader = new DataTable("Header2");
                tableData = new DataTable("Data2");

                
                tableHeader.Columns.Add();                
                tableHeader.Rows.Add(new object[] { "Service" });
                tableHeader.Rows.Add(new object[] { "Amount" });
                tableData.Columns.Add();
                tableData.Columns.Add();                
                obj = new object[2];
                for (int i = 0; i < 15; i++)
                {
                    
                    obj[0] = String.Format("Service offered. Nº{0}", i);
                    obj[1] = i;                
                    tableData.Rows.Add(obj);
                }

                data.DataTables.Add(tableData);
                data.DataTables.Add(tableHeader);

              
                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();
                
            }
            catch (Exception ex)
            {
                // show exception
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }


        }
        private void Window_Activated(object sender, EventArgs e)
        {
            try
            {
                ReportDocument reportDocument = new ReportDocument();

                StreamReader reader = new StreamReader(new FileStream(@"Templates\DailySalesReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = System.IO.Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                ReportData data = new ReportData();
                DataAccess da = new DataAccess();
                string BCC = da.getBasicCurrencyCode();

                // Таблица ТОВАРЫ В НАКЛАДНОЙ
                DataTable dt = new DataTable("mtable");

                // описываем столбцы таблицы
                dt.Columns.Add("Num", typeof(int));
                dt.Columns.Add("SpareName", typeof(string));
                dt.Columns.Add("WarehouseName", typeof(string));
                dt.Columns.Add("SpareCodeShatem", typeof(string));
                dt.Columns.Add("SpareCode", typeof(string));
                dt.Columns.Add("Q", typeof(int));
                dt.Columns.Add("P", typeof(double));
                dt.Columns.Add("VAT", typeof(string));
                dt.Columns.Add("T", typeof(double));
                dt.Columns.Add("SaleDate", typeof(string));

                // забиваем таблицу данными
                List<SpareInSpareOutgoView> LIST2 = warehouseID > 0 ? da.GetSpareInSpareOutgoByPeriod(date, dateTo, warehouseID) : da.GetSpareInSpareOutgoByPeriod(date, dateTo);
                decimal asum = 0;
                try
                {
                    for (int i = 0; i < LIST2.Count; i++)
                    {
                        asum += LIST2[i].total_sum;
                        dt.Rows.Add(new object[] {
                            i+1,
                            LIST2[i].SpareName,
                            LIST2[i].WarehouseName,
                            LIST2[i].codeShatem,
                            LIST2[i].code,
                            LIST2[i].quantity,
                            LIST2[i].purchase_price,
                            LIST2[i].VatRateName,
                            LIST2[i].total_sum,
                            LIST2[i].OutgoDate.Value.ToString("dd.MM.yyyy")
                        });
                    }
                }
                catch (Exception exc)
                {
                    Marvin.Instance.Log(exc.Message);
                    throw exc;
                }
                string str_ts = RSDN.RusCurrency.Str(asum, "BYR");

                string strDate = "";
                if (date == dateTo)
                {
                    strDate = date.ToString("dd.MM.yyyy");
                }
                else
                {
                    string strDateFrom = date.ToString("dd.MM.yyyy");
                    string strDateTo = dateTo.ToString("dd.MM.yyyy");
                    strDate = strDateFrom + " - " + strDateTo;
                }
                data.ReportDocumentValues.Add("ReportDate", strDate); // print date is now
                data.ReportDocumentValues.Add("asum", asum);
                data.DataTables.Add(dt);

                DateTime dateTimeStart = DateTime.Now; // start time measure here
                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();
            }
            catch (Exception ex)
            {
                // show exception
                Marvin.Instance.Log(ex.Message);
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }
Example #24
0
		private void SetDocumentValues(ReportData data)
		{
			// set constant document values
			data.ReportDocumentValues.Add("PrintDate", new DateTime(2015, 9, 29));
			data.ReportDocumentValues.Add("StartDate", new DateTime(2015, 9, 30));
			data.ReportDocumentValues.Add("EndDate", new DateTime(2015, 9, 1));

			data.ReportDocumentValues.Add("FillName", "Иванов И.С.");
			data.ReportDocumentValues.Add("HRName", "Петров П.Г.");
			data.ReportDocumentValues.Add("LeadName", "Сидоров Ф.П.");

			data.ReportDocumentValues.Add("FillPosition", "Заведующий канцелярией");
			data.ReportDocumentValues.Add("HRPosition", "Заведующий канцелярией");
			data.ReportDocumentValues.Add("LeadPosition", "Начальник кадровой службы");

			data.ReportDocumentValues.Add("Organization", "ООО \"Сатурн-Экспорт\"");
			data.ReportDocumentValues.Add("Department", "концелярия");
		}
Example #25
0
		private void Window_Activated(object sender, EventArgs e)
		{
			//if (!_firstActivated) return;
			//_firstActivated = false;

			try
			{
				ReportDocument reportDocument = new ReportDocument();

				//StreamReader reader = new StreamReader(new FileStream(@"..\..\..\..\..\..\Projects\FireMonitor\Modules\SKDModule\Reports\T13.xaml", FileMode.Open, FileAccess.Read));
				StreamReader reader = new StreamReader(new FileStream(@"..\..\Templates\Test.xaml", FileMode.Open, FileAccess.Read));
				reportDocument.XamlData = reader.ReadToEnd();
				reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
				reader.Close();

				var table = new DataTable();
				using (var sr = new StringReader(tableData))
					table.ReadXml(sr);

				//const int RecordOnPage = 3;
				//var data = new List<ReportData>();
				//ReportData reportData = null;
				//int countOnPage = RecordOnPage;
				//for (int i = 0; i < table.Rows.Count; i++)
				//{
				//    if (reportData == null)
				//    {
				//        reportData = new ReportData();
				//        SetDocumentValues(reportData);
				//        reportData.DataTables.Add(table.Clone());
				//        if (data.Count == 0)
				//        {
				//            reportData.Groups.Add("Header");
				//            countOnPage = RecordOnPage - 1;
				//        }
				//        else if (i + RecordOnPage == table.Rows.Count)
				//            countOnPage = RecordOnPage - 1;
				//        else if (i + RecordOnPage > table.Rows.Count)
				//            reportData.Groups.Add("Footer");
				//        else
				//            countOnPage = RecordOnPage;
				//        data.Add(reportData);
				//    }
				//    reportData.DataTables[0].Rows.Add(table.Rows[i].ItemArray);
				//    if (reportData.DataTables[0].Rows.Count == countOnPage)
				//        reportData = null;
				//}
				ReportData data = new ReportData();
				data.Groups.Add("Header");
				data.Groups.Add("Footer");
				SetDocumentValues(data);
				data.DataTables.Add(table);

				DateTime dateTimeStart = DateTime.Now; // start time measure here
				XpsDocument xps = reportDocument.CreateXpsDocument(data);
				Title += " - xps " + (DateTime.Now - dateTimeStart).TotalMilliseconds + "ms";
				documentViewer.Document = xps.GetFixedDocumentSequence();

				// show the elapsed time in window title
				Title += " - generated in " + (DateTime.Now - dateTimeStart).TotalMilliseconds + "ms";
			}
			catch (Exception ex)
			{
				// show exception
				MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
			}
		}
        private void Window_Activated(object sender, EventArgs e)
        {
            try
            {
                ReportDocument reportDocument = new ReportDocument();

                StreamReader reader = new StreamReader(new FileStream(@"Templates\SpareSalesByCodePeriodReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = System.IO.Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                ReportData data = new ReportData();
                DataAccess da = new DataAccess();
                string BCC = da.getBasicCurrencyCode();

                // Таблица ТОВАРЫ В НАКЛАДНОЙ
                DataTable dt = new DataTable("mtable");

                // описываем столбцы таблицы
                dt.Columns.Add("Num", typeof(int));
                dt.Columns.Add("WarehouseName", typeof(string));
                dt.Columns.Add("OutgoNum", typeof(string));
                dt.Columns.Add("AccountName", typeof(string));
                dt.Columns.Add("OutgoDate", typeof(string));
                dt.Columns.Add("Q", typeof(int));
                dt.Columns.Add("P", typeof(double));
                dt.Columns.Add("VAT", typeof(string));
                dt.Columns.Add("T", typeof(double));

                // забиваем таблицу данными
                List<SpareInSpareOutgoView> LIST2 = da.GetSpareInSpareOutgoByCodePeriod(Spare.id, dateFrom, dateTo, WarehouseID);
                decimal asum = 0;
                try
                {
                    for (int i = 0; i < LIST2.Count; i++)
                    {
                        asum += LIST2[i].total_sum;
                        string AN = LIST2[i].AccountName;
                        string od = LIST2[i].OutgoDate.Value.ToShortDateString();
                        string on = "нет";
                        int OutgoID = LIST2[i].spare_outgo_id;
                        spare_outgo so = da.SpareOutgoGet(OutgoID);
                        if (so != null)
                            on = so.IDN.ToString();
                        dt.Rows.Add(new object[] {
                            i+1,
                            LIST2[i].WarehouseName,
                            on,
                            AN,
                            od,
                            LIST2[i].quantity,
                            LIST2[i].purchase_price,
                            LIST2[i].VatRateName,
                            LIST2[i].total_sum
                        });
                    }
                }
                catch (Exception exc)
                {
                    throw exc;
                }
                string str_ts = RSDN.RusCurrency.Str(asum, "BYR");
                string strDate = dateFrom.Day.ToString();
                string mnth = "";
                switch (dateFrom.Month)
                {
                    case 1:
                        mnth = "января";
                        break;

                    case 2:
                        mnth = "февраля";
                        break;

                    case 3:
                        mnth = "марта";
                        break;

                    case 4:
                        mnth = "апреля";
                        break;

                    case 5:
                        mnth = "мая";
                        break;

                    case 6:
                        mnth = "июня";
                        break;

                    case 7:
                        mnth = "июля";
                        break;

                    case 8:
                        mnth = "августа";
                        break;

                    case 9:
                        mnth = "сентября";
                        break;

                    case 10:
                        mnth = "октября";
                        break;

                    case 11:
                        mnth = "ноября";
                        break;

                    case 12:
                        mnth = "декабря";
                        break;
                }
                strDate += " " + mnth + " " + dateFrom.Year + " г.";

                data.ReportDocumentValues.Add("ReportDate1", strDate); // print date is now

                // =======================
                strDate = dateTo.Day.ToString();
                mnth = "";
                switch (dateTo.Month)
                {
                    case 1:
                        mnth = "января";
                        break;

                    case 2:
                        mnth = "февраля";
                        break;

                    case 3:
                        mnth = "марта";
                        break;

                    case 4:
                        mnth = "апреля";
                        break;

                    case 5:
                        mnth = "мая";
                        break;

                    case 6:
                        mnth = "июня";
                        break;

                    case 7:
                        mnth = "июля";
                        break;

                    case 8:
                        mnth = "августа";
                        break;

                    case 9:
                        mnth = "сентября";
                        break;

                    case 10:
                        mnth = "октября";
                        break;

                    case 11:
                        mnth = "ноября";
                        break;

                    case 12:
                        mnth = "декабря";
                        break;
                }
                strDate += " " + mnth + " " + dateTo.Year + " г.";
                data.ReportDocumentValues.Add("ReportDate2", strDate); // print date is now

                data.ReportDocumentValues.Add("SpareName", Spare.name);
                data.ReportDocumentValues.Add("SpareCodeShatem", Spare.codeShatem);
                data.ReportDocumentValues.Add("SpareCode", Spare.code);
                data.ReportDocumentValues.Add("asum", asum);
                data.DataTables.Add(dt);

                DateTime dateTimeStart = DateTime.Now; // start time measure here
                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();
            }
            catch (Exception ex)
            {
                // show exception
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }
Example #27
0
        /// <summary>
        /// Helper method to create page header or footer from flow document template
        /// </summary>
        /// <param name="data">report data</param>
        /// <returns></returns>
        public ReportPaginator CreatePaginator(ReportData data, Action <int, int> PageGeneratedCallBack = null)
        {
            ReportPaginator rp = new ReportPaginator(this, data, PageGeneratedCallBack);

            return(rp);
        }
Example #28
0
		/// <summary>
		/// Helper method to create page header or footer from flow document template
		/// </summary>
		/// <param name="data">report data</param>
		/// <returns></returns>
		public XpsDocument CreateXpsDocument(ReportData data)
		{
			MemoryStream ms = new MemoryStream();
			Package pkg = Package.Open(ms, FileMode.Create, FileAccess.ReadWrite);
			string pack = "pack://report.xps";
			PackageStore.RemovePackage(new Uri(pack));
			PackageStore.AddPackage(new Uri(pack), pkg);
			XpsDocument doc = new XpsDocument(pkg, CompressionOption.NotCompressed, pack);
			XpsSerializationManager rsm = new XpsSerializationManager(new XpsPackagingPolicy(doc), false);
			//DocumentPaginator paginator = ((IDocumentPaginatorSource)CreateFlowDocument()).DocumentPaginator;

			ReportPaginator rp = new ReportPaginator(this, data);
			rsm.SaveAsXaml(rp);
			return doc;
		}
        /// <summary>
        /// Window has been activated
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">event details</param>
        private void Window_Activated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            try
            {
                ReportDocument reportDocument = new ReportDocument();

                StreamReader reader = new StreamReader(new FileStream(@"Templates\ChartReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();
                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                ReportData data = new ReportData();

                // set constant document values
                data.ReportDocumentValues.Add("PrintDate", DateTime.Now); // print date is now

                // sample table "Example1"
                DataTable table = new DataTable("Example1");
                table.Columns.Add("Year", typeof(string));
                table.Columns.Add("Value", typeof(decimal));
                Random rnd = new Random(1234);
                for (int i = 1990; i <= 2009; i++)
                {
                    // randomly create some values
                    table.Rows.Add(new object[] { i, rnd.Next(100000) + 10000 });
                }
                data.DataTables.Add(table);

                // sample table "Example2"
                table = new DataTable("Example2");
                table.Columns.Add("Year", typeof(string));
                table.Columns.Add("Value", typeof(decimal));
                int citizens = rnd.Next(100000);
                for (int i = 1990; i <= 2009; i++)
                {
                    // randomly create some values
                    table.Rows.Add(new object[] { i, citizens });
                    citizens += rnd.Next(10000);
                }
                data.DataTables.Add(table);

                // sample table "Example3"
                table = new DataTable("Example3");
                table.Columns.Add("Opinion", typeof(string));
                table.Columns.Add("Percent", typeof(decimal));
                table.Rows.Add(new object[] { "Yes", 36.2 });
                table.Rows.Add(new object[] { "No", 21.5 });
                table.Rows.Add(new object[] { "Unsure", 100 - 36.2 - 21.5 });
                data.DataTables.Add(table);

                DateTime dateTimeStart = DateTime.Now; // start time measure here

                XpsDocument xps = reportDocument.CreateXpsDocument(data);

                // concat XPS files
                documentViewer.Document = xps.GetFixedDocumentSequence();

                // show the elapsed time in window title
                Title += " - generated in " + (DateTime.Now - dateTimeStart).TotalMilliseconds + "ms";
            }
            catch (Exception ex)
            {
                // show exception
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }
Example #30
0
		/// <summary>
		/// Helper method to create page header or footer from flow document template
		/// </summary>
		/// <param name="data">report data</param>
		/// <param name="fileName">file to save XPS to</param>
		/// <returns></returns>
		public XpsDocument CreateXpsDocument(ReportData data, string fileName)
		{
			Package pkg = Package.Open(fileName, FileMode.Create, FileAccess.ReadWrite);
			string pack = "pack://report.xps";
			PackageStore.RemovePackage(new Uri(pack));
			PackageStore.AddPackage(new Uri(pack), pkg);
			XpsDocument doc = new XpsDocument(pkg, _xpsCompressionOption, pack);
			XpsSerializationManager rsm = new XpsSerializationManager(new XpsPackagingPolicy(doc), false);
			//DocumentPaginator paginator = ((IDocumentPaginatorSource)CreateFlowDocument()).DocumentPaginator;

			ReportPaginator rp = new ReportPaginator(this, data);
			rsm.SaveAsXaml(rp);
			rsm.Commit();
			pkg.Close();
			return new XpsDocument(fileName, FileAccess.Read);
		}
Example #31
0
        private void WindowActivated(object sender, EventArgs e)
        {
            if (!_firstActivated) return;

            _firstActivated = false;

            try
            {
                var reportDocument = new ReportDocument();

                var reader = new StreamReader(new FileStream(@"Templates\ReportTemplate.xaml", FileMode.Open,
                                                             FileAccess.Read));
                reportDocument.XamlData = reader.ReadToEnd();

                reportDocument.XamlImagePath = Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                var data = new ReportData();

                data.ReportDocumentValues.Add("PrintDate", DateTime.Now);

                data.ReportDocumentValues.Add("ReportSummary", _reportList.GetReportSummery);

                var table = new DataTable("Table1");
                table.Columns.Add("c1", typeof (string));
                table.Columns.Add("c2", typeof (string));
                table.Columns.Add("c3", typeof (string));

                table.Rows.Add(new object[]
                                   {
                                       _reportList.GetInformation,
                                       _reportList.GetLength.ToString(CultureInfo.InvariantCulture),
                                       _reportList.InnerData.ConvertToString()
                                   });

                data.DataTables.Add(table);

                // CHI TEST
                List<Tuple<int, float, int, float>> testTable = UniformityTests.ChiSquare(10, _reportList);

                table = new DataTable("Table2");
                table.Columns.Add("c1", typeof (string));
                table.Columns.Add("c2", typeof (string));
                table.Columns.Add("c3", typeof (string));
                table.Columns.Add("c4", typeof (string));
                float sum = 0f;
                foreach (var tuple in testTable)
                {
                    table.Rows.Add(new object[]
                                       {
                                           tuple.Item1, tuple.Item2, tuple.Item3, tuple.Item4
                                       });
                    sum += tuple.Item4;
                }

                table.Rows.Add(new object[] {"Total", "--", "--", sum.ToString(CultureInfo.InvariantCulture)});

                data.DataTables.Add(table);
                string result = UniformityTests.IsUniformWithChiSquare(testTable)
                                    ? "There isn't enough evidence to reject the hypothesis!"
                                    : "The hypothesis is rejected!";
                data.ReportDocumentValues.Add("ChiSquareResult", String.Format("Chi-Square Test Result : {0}", result));

                //END CHI TEST

                // KS TEST

                List<Tuple<int, float, float, float, float, float>> kStestTable = UniformityTests.KSTest(_reportList);

                table = new DataTable("Table3");
                table.Columns.Add("c1", typeof (string));
                table.Columns.Add("c2", typeof (string));
                table.Columns.Add("c3", typeof (string));
                table.Columns.Add("c4", typeof (string));
                table.Columns.Add("c5", typeof (string));
                table.Columns.Add("c6", typeof (string));
                float maxDPlus = 0f;
                float maxDNegetive = 0f;
                foreach (var tuple in kStestTable)
                {
                    if (tuple.Item5 > maxDPlus)
                        maxDPlus = tuple.Item5;
                    if (tuple.Item6 > maxDNegetive)
                        maxDNegetive = tuple.Item6;
                    table.Rows.Add(new object[]
                                       {
                                           tuple.Item1, tuple.Item2, tuple.Item3, tuple.Item4,
                                           tuple.Item5, tuple.Item6
                                       });
                }

                table.Rows.Add(new object[] {"Max", "--", "--", "--", maxDPlus, maxDNegetive});

                data.DataTables.Add(table);

                result = UniformityTests.IsUniformWithKS(kStestTable)
                             ? "There isn't enough evidence to reject the hypothesis!"
                             : "The hypothesis is rejected!";
                data.ReportDocumentValues.Add("KSResult",
                                              String.Format("KS Test Result : Max[D+,D-] = {0}\n{1}",
                                                            Math.Max(maxDPlus, maxDNegetive), result));

                //END TEST

                // POKER

                List<Tuple<int, int, int, float>> pokertestTable = IndependentTest.PokerTest(_reportList);

                table = new DataTable("Table4");
                table.Columns.Add("c1", typeof (string));
                table.Columns.Add("c2", typeof (string));
                table.Columns.Add("c3", typeof (string));
                table.Columns.Add("c4", typeof (string));

                int sumA = 0;
                int sumB = 0;
                float sumC = 0;
                foreach (var tuple in pokertestTable)
                {
                    sumA += tuple.Item2;
                    sumB += tuple.Item3;
                    sumC += tuple.Item4;

                    table.Rows.Add(new object[]
                                       {
                                           tuple.Item1, tuple.Item2, tuple.Item3, tuple.Item4
                                       });
                }

                table.Rows.Add(new object[] {"Total", sumA, sumB, sumC});

                data.DataTables.Add(table);

                //END POKER
                var mtable = new DataTable("Chart1");
                mtable.Columns.Add("Multiplier", typeof (string));
                mtable.Columns.Add("Length of Sequence", typeof (int));
                foreach (var item in _analysisOverMultiplier)
                {
                    mtable.Rows.Add(new object[] {item.Item1, item.Item2});
                }

                data.DataTables.Add(mtable);

                mtable = new DataTable("Chart2");
                mtable.Columns.Add("Increment", typeof (string));
                mtable.Columns.Add("Length of Sequence", typeof (int));
                foreach (var item in _analysisOverIncrement)
                {
                    mtable.Rows.Add(new object[] {item.Item1, item.Item2});
                }

                data.DataTables.Add(mtable);

                mtable = new DataTable("Chart3");
                mtable.Columns.Add("Seed", typeof (string));
                mtable.Columns.Add("Length of Sequence", typeof (int));
                foreach (var item in _analysisOverSeed)
                {
                    mtable.Rows.Add(new object[] {item.Item1, item.Item2});
                }

                data.DataTables.Add(mtable);

                DateTime dateTimeStart = DateTime.Now;

                XpsDocument xps = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();

                Title += string.Format(" - Generated in {0}ms", (DateTime.Now - dateTimeStart).TotalMilliseconds);
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("{0}\r\n\r\n{1}\r\n{2}", ex.Message, ex.GetType(), ex.StackTrace),
                                ex.GetType().ToString(),
                                MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }