Exemplo n.º 1
0
        /// <summary>
        /// This stores the resultlist and parameterlist into a binary file (using the Datatable conversion);
        /// This can be used for debugging the printing, and saving time on calculating the report by reusing previous results
        ///
        /// </summary>
        /// <returns>void</returns>
        public void WriteBinaryFile(TParameterList AParameters, String AFilename)
        {
            DataTable       dt = ToDataTable(AParameters);
            FileStream      fs = new FileStream(AFilename, FileMode.Create);
            BinaryFormatter bf = new BinaryFormatter();

            bf.Serialize(fs, dt);

            dt = AParameters.ToDataTable();
            bf.Serialize(fs, dt);

            fs.Close();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Checks if there is already a field with the same name in the grid. If yes, ask
        /// if the field should be added again.
        /// </summary>
        /// <param name="AColumnParameters">List with the current columns</param>
        /// <param name="AColumnName">Name of the field</param>
        /// <param name="ASelectedColumn">Index of the column in the grid</param>
        /// <returns>True if the field should be added. Otherwise false</returns>
        public static bool CheckAddDoubleEntry(ref TParameterList AColumnParameters, String AColumnName, int ASelectedColumn)
        {
            bool ReturnValue = true;
            DataTable ColumnTable = AColumnParameters.ToDataTable();

            String NewField = "eString:" + AColumnName;

            foreach (DataRow Row in ColumnTable.Rows)
            {
                if ((Row["value"].ToString() == NewField)
                    && (((int)Row["column"]) != ASelectedColumn))
                {
                    if (MessageBox.Show("The column is already there.\nDo you want to add it anyway?", "Add field?",
                            MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        ReturnValue = false;
                    }

                    break;
                }
            }

            return ReturnValue;
        }
Exemplo n.º 3
0
        /// <summary>
        /// calculate the report and save the result and returned parameters to file
        /// </summary>
        public static void CalculateReport(string AReportParameterXmlFile, TParameterList ASpecificParameters, int ALedgerNumber = -1)
        {
            // important: otherwise month names are in different language, etc
            Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB", false);

            TReportGeneratorUIConnector ReportGenerator = new TReportGeneratorUIConnector();
            TParameterList Parameters = new TParameterList();
            string resultFile = AReportParameterXmlFile.Replace(".xml", ".Results.xml");
            string parameterFile = AReportParameterXmlFile.Replace(".xml", ".Parameters.xml");
            Parameters.Load(AReportParameterXmlFile);

            if (ALedgerNumber != -1)
            {
                Parameters.Add("param_ledger_number_i", ALedgerNumber);
            }

            Parameters.Add(ASpecificParameters);

            ReportGenerator.Start(Parameters.ToDataTable());

            while (!ReportGenerator.Progress.JobFinished)
            {
                Thread.Sleep(500);
            }

            Assert.IsTrue(ReportGenerator.GetSuccess(), "Report did not run successfully");
            TResultList Results = new TResultList();

            Results.LoadFromDataTable(ReportGenerator.GetResult());
            Parameters.LoadFromDataTable(ReportGenerator.GetParameter());

            if (!Parameters.Exists("ControlSource", ReportingConsts.HEADERPAGELEFT1, -1, eParameterFit.eBestFit))
            {
                Parameters.Add("ControlSource", new TVariant("Left1"), ReportingConsts.HEADERPAGELEFT1);
            }

            if (!Parameters.Exists("ControlSource", ReportingConsts.HEADERPAGELEFT2, -1, eParameterFit.eBestFit))
            {
                Parameters.Add("ControlSource", new TVariant("Left2"), ReportingConsts.HEADERPAGELEFT2);
            }

            Parameters.Save(parameterFile, false);
            Results.WriteCSV(Parameters, resultFile, ",", false, false);
        }
Exemplo n.º 4
0
        /// <summary>
        /// This stores the resultlist and parameterlist into a binary file (using the Datatable conversion);
        /// This can be used for debugging the printing, and saving time on calculating the report by reusing previous results
        ///
        /// </summary>
        /// <returns>void</returns>
        public void WriteBinaryFile(TParameterList AParameters, String AFilename)
        {
            DataTable dt = ToDataTable(AParameters);
            FileStream fs = new FileStream(AFilename, FileMode.Create);
            BinaryFormatter bf = new BinaryFormatter();

            bf.Serialize(fs, dt);

            dt = AParameters.ToDataTable();
            bf.Serialize(fs, dt);

            fs.Close();
        }