private void CreateTemplateColumns(DataGrid dtg, DataTable dt)
        {
            ReportConfiguration rprt = reportConfigurations[report];

            for (int c = 0; c < dt.Columns.Count; c++)
            {
                string columnName = "";
                columnName = dt.Columns[c].ColumnName;
                ReportConfiguration.ColumnMode columnMode = rprt.ColumnDisplay(columnName);

                if (columnMode == ReportConfiguration.ColumnMode.ShowAsHyperLink)
                {
                    ReportHyperLinkColumn hcol       = rprt.GetHyperLinkColumn(columnName);
                    HyperLinkColumn       linkColumn = createHyperLinkColumn(hcol.DataTextField, hcol.DataTextFormatString, hcol.DataNavigateUrlField, hcol.HeaderText, hcol.GoToReport, hcol.Param);
                    dtg.Columns.Add(linkColumn);
                }
                else if (columnMode == ReportConfiguration.ColumnMode.ShowAsNormal || rbAllColumns.Checked)
                {
                    BoundColumn bc = new BoundColumn();
                    bc.DataField      = columnName;
                    bc.HeaderText     = columnName;
                    bc.SortExpression = columnName;
                    dtg.Columns.Add(bc);
                }
            }
        }
Example #2
0
        /// <summary>
        /// When overridden in a derived class, executes the task.
        /// </summary>
        /// <returns>
        /// true if the task successfully executed; otherwise, false.
        /// </returns>
        public override bool Execute()
        {
            string[] reportTypes = new string[] { };

            if (this.ReportTypes != null && this.ReportTypes.Length > 0)
            {
                reportTypes = this.ReportTypes.Select(r => r.ItemSpec).ToArray();
            }

            ITaskItem[] assemblyFilters = this.AssemblyFilters ?? this.Filters;

            var configuration = new ReportConfiguration(
                this.ReportFiles == null ? Enumerable.Empty <string>() : this.ReportFiles.Select(r => r.ItemSpec),
                this.TargetDirectory,
                this.SourceDirectories == null ? Enumerable.Empty <string>() : this.SourceDirectories.Select(r => r.ItemSpec),
                this.HistoryDirectory,
                reportTypes,
                this.Plugins == null ? Enumerable.Empty <string>() : this.Plugins.Select(r => r.ItemSpec),
                assemblyFilters == null ? Enumerable.Empty <string>() : assemblyFilters.Select(r => r.ItemSpec),
                this.ClassFilters == null ? Enumerable.Empty <string>() : this.ClassFilters.Select(r => r.ItemSpec),
                this.FileFilters == null ? Enumerable.Empty <string>() : this.FileFilters.Select(r => r.ItemSpec),
                this.VerbosityLevel,
                this.Tag);

            return(new Generator().GenerateReport(configuration));
        }
        /// <summary>
        /// Create date range based on entries in configuration
        /// </summary>
        /// <param name="config"></param>
        /// <returns>List<DateRange></returns>
        private List <DateRange> GetDateRangeFromConfiguration(ReportConfiguration config)
        {
            var strStartDateFromConfig    = config.DateConfiguration.StartDate;
            var strEndDateFromConfig      = config.DateConfiguration.EndDate;
            var strNumberOfDaysFromConfig = config.DateConfiguration.NumberOfDays;

            DateTime.TryParse(strStartDateFromConfig, out DateTime reportStartDate);

            DateTime.TryParse(strEndDateFromConfig, out DateTime reportEndDate);

            int.TryParse(strNumberOfDaysFromConfig, out int numberOfDays);

            //Set start and end date for report using number of days
            var startDate = DateTime.Now.AddDays(-numberOfDays);
            var endDate   = numberOfDays == 0 ? DateTime.Now : DateTime.Now.AddDays(-1);

            //Use start and end date from config if specified else keep the existing values
            if (reportStartDate != DateTime.MinValue && reportEndDate != DateTime.MinValue &&
                reportStartDate <= reportEndDate)
            {
                startDate = reportStartDate;
                endDate   = reportEndDate;
            }

            return(new List <DateRange>
            {
                new DateRange
                {
                    StartDate = startDate.ToString("yyyy-MM-dd"),
                    EndDate = endDate.ToString("yyyy-MM-dd")
                }
            });
        }
Example #4
0
        static void Main(string[] args)
        {
            var result = CommandLine.Parser.Default.ParseArguments <Options>(args);

            switch (result.Value.TipoTarea.ToUpper())
            {
            case "ENVIO":
                #region Tarea de Solicitudes
                using (var data = new DataHandler())
                {
                    IEmailHandler        email          = new EmailHandler();
                    IReportHandler       report         = new ReportHandler();
                    IReportConfiguration config         = new ReportConfiguration();
                    SearchCriteria       filtercriteria = new SearchCriteria();

                    config.EmailFrom          = ConfigurationManager.AppSettings["Envio.Solicitudes.From"];
                    config.EmailTo            = ConfigurationManager.AppSettings["Envio.Solicitudes.To"];
                    config.EmailSubject       = ConfigurationManager.AppSettings["Envio.Solicitudes.Subject"] + " " + DateTime.Now.ToShortDateString();
                    config.EmailBody          = ConfigurationManager.AppSettings["Envio.Solicitudes.Body"];
                    config.CredentialUser     = ConfigurationManager.AppSettings["Envio.Solicitudes.CredentialUser"];
                    config.CredentialPassword = ConfigurationManager.AppSettings["Envio.Solicitudes.CredentialPassword"];

                    var solicitudtask = new SolicitudTask(data, report, email, config, filtercriteria);
                    solicitudtask.Process();
                }
                #endregion
                break;

            case "OTRO":
                break;
            }
        }
Example #5
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            LoadProject(_projectName);
            _reportsDir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Reports", _projectName));
            if (!_reportsDir.Exists)
            {
                _reportsDir.Create();
            }

            _reportingTask       = IoC.Resolve <IReportingTask>();
            _reportConfiguration = new ReportConfiguration
            {
                Title            = "Testing Reports",
                Author           = "Unit Tests Engine",
                Keywords         = new[] { "Tests", "PKReporting", "SBSuite" },
                Software         = "SBSuite",
                SubTitle         = "SubTitle",
                SoftwareVersion  = "5.2",
                ContentFileName  = "Content",
                DeleteWorkingDir = true,
                ColorStyle       = ReportSettings.ReportColorStyles.Color
            };

            _reportConfiguration.Template = new ReportTemplate {
                Path = DomainHelperForSpecs.TEXTemplateFolder()
            };

            //Add all simulation to repository as they will be required when deserialzing the summary charts
            var repo = IoC.Resolve <IWithIdRepository>();

            All <Simulation>().Each(repo.Register);
        }
Example #6
0
    public IEnumerable <ApplicationModel> GetAppByCompanies(ReportConfiguration report)
    {
        return
            (from application in DBSets.Applications
             join ApplicationStatus in DBSets.ApplicationStatuses on application.ApplicationStatusID equals ApplicationStatus.ApplicationStatusID
             join Address in DBSets.Addresses on application.AddressID equals Address.AddressID
             join Region in DBSets.Regions on Address.RegionID equals Region.RegionID
             join District in DBSets.Districts on Address.DistrictID equals District.DistrictID
             join City in DBSets.Cities on Address.CityID equals City.CityID
             join Street in DBSets.Streets on Address.StreetID equals Street.StreetID
             join Building in DBSets.Buildings on Address.BuildingID equals Building.BuildingID
             join Classifier in DBSets.Classifiers on application.ClassifierID equals Classifier.ClassifierID
             join User in DBSets.Users on application.UserID equals User.UserID
             join Company in DBSets.Companies on application.CompanyID equals Company.CompanyID

             where application.CreatedAt >= report.From && application.CreatedAt <= report.To
             where report.Specifications.Contains(Company.Name.ToLower()) || report.Specifications.Count() == 0

             select new ApplicationModel()
        {
            ApplicationID = application.ApplicationID.ToString(),
            CreatedAt = application.CreatedAt.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss"),
            Address = Region.Name + ", " + District.Name + ", " + City.Name + ", " + Street.Name + ", " + Building.Name,
            Classifier = Classifier.Name,
            UserFullName = User.LastName + " " + User.FirstName + " " + User.MiddleName,
            UserPhone = User.PhoneNumber,
            Company = Company.Name,
            Description = application.Description.Replace("<p>", "").Replace("</p>", ""),
            Status = application.ApplicationStatus.Name
        });
    }
Example #7
0
        private void NewReport()
        {
            TreeNode  Node      = treeView1.SelectedNode;
            Selection Selection = Node.Tag as Selection;
            Boolean   IsReport  = Convert.ToBoolean(Selection.Value);

            if (!IsReport)
            {
                string Code       = DepositoryReportCatlog.GetNextCode(Node.Name);
                string ReportName = DepositoryReportCatlog.GetReportName(Node.Name, "新建表单");

                ReportConfiguration Report = new ReportConfiguration();
                Report.Code        = Code;
                Report.Description = ReportName;
                Boolean Result = DepositoryReportConfiguration.New(Report);
                if (Result)
                {
                    TreeNode SubNode = new TreeNode();
                    SubNode.Name = Code;

                    Selection                  = new Selection();
                    Selection.ID               = Report.Index;
                    Selection.Value            = "true";
                    SubNode.Tag                = Selection;
                    SubNode.Text               = ReportName;
                    SubNode.SelectedImageIndex = 2;
                    SubNode.ImageIndex         = 2;

                    Node.Nodes.Add(SubNode);
                    Node.Expand();
                    Node.TreeView.SelectedNode = SubNode;
                }
            }
        }
Example #8
0
        public void InitByConstructor_AllPropertiesApplied()
        {
            this.configuration = new ReportConfiguration(
                this.reportBuilderFactoryMock.Object,
                new[] { ReportPath },
                "C:\\temp",
                null,
                new[] { "Latex", "Xml", "Html" },
                new[] { FileManager.GetCSharpCodeDirectory() },
                new[] { "+Test", "-Test" },
                new[] { "+Test2", "-Test2" },
                VerbosityLevel.Info.ToString());

            Assert.IsTrue(this.configuration.ReportFiles.Contains(ReportPath), "ReportPath does not exist in ReportFiles.");
            Assert.AreEqual("C:\\temp", this.configuration.TargetDirectory, "Wrong target directory applied.");
            Assert.IsTrue(this.configuration.ReportTypes.Contains("Latex"), "Wrong report type applied.");
            Assert.IsTrue(this.configuration.ReportTypes.Contains("Xml"), "Wrong report type applied.");
            Assert.IsTrue(this.configuration.ReportTypes.Contains("Html"), "Wrong report type applied.");
            Assert.IsTrue(this.configuration.SourceDirectories.Contains(FileManager.GetCSharpCodeDirectory()), "Directory does not exist in Source directories.");
            Assert.IsTrue(this.configuration.AssemblyFilters.Contains("+Test"), "AssemblyFilters does not exist in ReportFiles.");
            Assert.IsTrue(this.configuration.AssemblyFilters.Contains("-Test"), "AssemblyFilters does not exist in ReportFiles.");
            Assert.IsTrue(this.configuration.ClassFilters.Contains("+Test2"), "ClassFilters does not exist in ReportFiles.");
            Assert.IsTrue(this.configuration.ClassFilters.Contains("-Test2"), "ClassFilters does not exist in ReportFiles.");
            Assert.AreEqual(VerbosityLevel.Info, this.configuration.VerbosityLevel, "Wrong verbosity level applied.");
        }
        public bool NewReportConfiguration(ReportConfiguration Report)
        {
            StringBuilder Sql_Select = new StringBuilder();

            //增加查询条件 Scdel=0  2013-10-17
            Sql_Select.Append("Select ID,SCTS,CatlogCode,Description,SheetStyle,DataSources From sys_biz_ReportSheet Where Scdel=0 and ID ='");
            Sql_Select.Append(Report.Index);
            Sql_Select.Append("'");

            DataTable Data = GetDataTable(Sql_Select.ToString());

            if (Data != null)
            {
                DataRow Row = Data.NewRow();
                Row["ID"]          = Report.Index;
                Row["SCTS"]        = DateTime.Now.ToString();
                Row["CatlogCode"]  = Report.Code;
                Row["Description"] = Report.Description;
                Row["SheetStyle"]  = Report.SheetStyle;
                Row["DataSources"] = BinarySerializer.Serialize(Report.DataSources);
                Data.Rows.Add(Row);
            }

            Boolean Result = false;

            try
            {
                object r = Update(Data);
                Result = (System.Convert.ToInt32(r) == 1);
            }
            catch
            { }

            return(Result);
        }
Example #10
0
        private void InitializeDate()
        {
            ReportConfiguration rc = new ReportConfiguration(Global.ReportName);

            txtSDate.Text = rc.GetString("缺曠獎懲統計開始日期", DateTime.Today.ToString("yyyy/MM/dd"));
            txtEDate.Text = rc.GetString("缺曠獎懲統計結束日期", DateTime.Today.ToString("yyyy/MM/dd"));
        }
        public ReportConfiguration InitReportConfiguration(String Index)
        {
            ReportConfiguration ReportConfiguration = new ReportConfiguration();

            StringBuilder Sql_Select = new StringBuilder();

            //增加查询条件 Scdel=0  2013-10-17
            Sql_Select.Append("Select ID,CatlogCode,Description,SheetStyle,DataSources From sys_biz_ReportSheet Where Scdel=0 and ID ='");
            Sql_Select.Append(Index);
            Sql_Select.Append("'");

            DataTable Data = GetDataTable(Sql_Select.ToString());

            if (Data != null && Data.Rows.Count > 0)
            {
                DataRow Row = Data.Rows[0];
                ReportConfiguration.Index       = Row["ID"].ToString();
                ReportConfiguration.Code        = Row["CatlogCode"].ToString();
                ReportConfiguration.Description = Row["Description"].ToString();
                ReportConfiguration.SheetStyle  = Row["SheetStyle"].ToString();

                TableDataCollection Sources = BinarySerializer.Deserialize(Row["DataSources"].ToString()) as TableDataCollection;
                if (Sources != null)
                {
                    foreach (TableData Source in Sources)
                    {
                        ReportConfiguration.DataSources.Add(Source);
                    }
                }

                ReportConfiguration.ReportParameters = ReportParameterManager.getReportParameters(ReportConfiguration.Index);
            }

            return(ReportConfiguration);
        }
        public async Task <ApiResponse <ReportExporterResponse> > GenerateReportAsync(
            ReportConfiguration reportConfiguration)
        {
            try
            {
                var reportGeneratorRequest = new ReportGeneratorRequest()
                {
                    ProjectId = reportConfiguration.ProjectId,
                    UserId    = reportConfiguration.UserId,
                };
                var apiResponse = await _workLogClientService.GetUserActivities(reportGeneratorRequest);

                if (!apiResponse.IsSuccess)
                {
                    return(apiResponse.ToFailed <ReportExporterResponse>());
                }

                var reportExportFile =
                    _reportExporter.GenerateReportForExport(apiResponse.Data, reportConfiguration.ReportFormatType);
                return(new ApiResponse <ReportExporterResponse>(reportExportFile));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "");
                return(ApiResponse <ReportExporterResponse> .InternalError());
            }
        }
Example #13
0
        public void InitReport()
        {
            ReportConfiguration reportConfigData = RealTestData <ReportConfiguration> .GetTestData("ReportConfiguration").First();

            extentHtmlReportGenerator.SetReportConfiguration(reportConfigData.DocumentTitle, reportConfigData.ReportName, reportConfigData.ReportPath);
            GetScreenShot.GetInstance().ScreenshotPath = reportConfigData.ScreenShotPath;
        }
Example #14
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            if (!IsValid())
            {
                return;
            }

            ReportConfiguration rc = new ReportConfiguration(Global.ReportName);

            rc.SetString("缺曠獎懲統計開始日期", txtSDate.Text);
            rc.SetString("缺曠獎懲統計結束日期", txtEDate.Text);
            rc.Save();

            _config.StartDate = DateTime.Parse(txtSDate.Text);
            _config.EndDate   = DateTime.Parse(txtEDate.Text);

            List <JHStudentRecord> students = JHStudent.SelectByIDs(K12.Presentation.NLDPanels.Student.SelectedSource);

            //排序學生
            students.Sort(SortStudentByClassSeatNo);
            _config.Students = students;

            _config.SchoolYear = (int)cboSchoolYear.SelectedItem;
            _config.Semester   = (int)cboSemester.SelectedItem;

            _config.Load();
            Report report = new Report(_config);

            report._SchoolYear = cboSchoolYear.Text;
            report._Semester   = cboSemester.Text;
            report.Generate();

            this.DialogResult = DialogResult.OK;
        }
        public ReportPreference(string configName, byte[] defTemplateData)
        {
            _config = new ReportConfiguration(configName);
            DefaultTemplateData = defTemplateData;

            //SubjectOnly、DomainOnly、SubjectDomain。
            string pt = _config.GetString("PrintType", ListMethod.DomainOnly.ToString());

            ListMethod = (ListMethod)Enum.Parse(typeof(ListMethod), pt);
            PrintRank = _config.GetBoolean("PrintRank", false);
            PrintRankPercentage = _config.GetBoolean("PrintRankPercentage", false);
            AcceptAbsences = _config.GetString("AcceptAbsences", string.Empty);
            EntranceDate = _config.GetString("EntranceDate", "");
            GraduateDate = _config.GetString("GraduateDate", "");
            FilterRankScope = _config.GetBoolean("FilterRankScope", false);
            RankStart = _config.GetInteger("RankStart", 1);
            RankEnd = _config.GetInteger("RankEnd", 10);
            ConvertToPDF = _config.GetBoolean("ConvertToPDF", false);

            PrintSemesters = new List<int>();
            string[] semses = _config.GetString("PrintSemesters", "1,2,3,4,5,6").Split(',');
            foreach (string each in semses)
            {
                if (string.IsNullOrEmpty(each)) continue;

                PrintSemesters.Add(int.Parse(each));
            }
        }
        /// <summary>
        /// FormLoad
        /// </summary>
        private void StudInterviewDataReportForm_Load(object sender, EventArgs e)
        {
            this.MaximumSize = this.MinimumSize = this.Size;
            _Config          = new ReportConfiguration(_ReportName);

            #region 取得上次列印設定值

            ConfigData cd   = K12.Data.School.Configuration[_ReportName];
            string     Mode = cd["Setup"];
            if (!string.IsNullOrEmpty(Mode))
            {
                bool check = false;
                if (bool.TryParse(Mode, out check))
                {
                    if (check) //如果是bool
                    {
                        rbDEF_2.Checked = true;
                    }
                    else
                    {
                        rbDEF_1.Checked = true;
                    }
                }
                else
                {
                    rbDEF_1.Checked = true;
                }
            }
            else
            {
                rbDEF_1.Checked = true;
            }

            #endregion
        }
Example #17
0
        public Report(Config config)
        {
            _config = config;
            _rc     = new ReportConfiguration(Global.ReportName);
            // 設定列印文字評語不出現
            _rc.SetBoolean("列印文字評語", false);
            _rc.Save();
            _effortMapper = new EffortMapper();

            _doc = new Document();
            _doc.Sections.Clear();
            if (_rc.Template == null)
            {
                _rc.Template = new ReportTemplate(Properties.Resources.評量成績通知單, TemplateType.Word);
            }
            //_template = _rc.Template.ToDocument();
            _template = new Document(new MemoryStream(_rc.Template.ToBinary()));

            _rowCount = GetRowCount(_template);

            _worker                       = new BackgroundWorker();
            _worker.DoWork               += new DoWorkEventHandler(Worker_DoWork);
            _worker.RunWorkerCompleted   += new RunWorkerCompletedEventHandler(Worker_RunWorkerCompleted);
            _worker.ProgressChanged      += new ProgressChangedEventHandler(Worker_ProgressChanged);
            _worker.WorkerReportsProgress = true;
        }
Example #18
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _reportingProject = LoadProject(_projectName);
            _reportingTask    = IoC.Resolve <IReportingTask>();

            _reportsDir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Reports", _projectName));
            if (!_reportsDir.Exists)
            {
                _reportsDir.Create();
            }

            _reportConfiguration = new ReportConfiguration
            {
                Title            = "Testing Reports",
                Author           = "Unit Tests Engine",
                Keywords         = new[] { "Tests", "PKReporting", "SBSuite" },
                Software         = "SBSuite",
                SubTitle         = "SubTitle",
                SoftwareVersion  = "5.2",
                ContentFileName  = "Content",
                DeleteWorkingDir = true,
                ColorStyle       = ReportSettings.ReportColorStyles.Color
            };

            _reportConfiguration.Template = new ReportTemplate {
                Path = TEXTemplateFolder()
            };
        }
        public bool DeleteReportConfiguration(ReportConfiguration Report)
        {
            StringBuilder Sql_Select = new StringBuilder();

            //增加查询条件 Scdel=0  2013-10-17
            Sql_Select.Append("Select ID,CatlogCode,Description,SheetStyle,DataSources From sys_biz_ReportSheet Where Scdel=0 and ID ='");
            Sql_Select.Append(Report.Index);
            Sql_Select.Append("'");

            DataTable Data = GetDataTable(Sql_Select.ToString());

            if (Data != null)
            {
                foreach (DataRow Row in Data.Rows)
                {
                    Row.Delete();
                }
            }

            Boolean Result = false;

            try
            {
                object r = Update(Data);
                Result = (System.Convert.ToInt32(r) == 1);
            }
            catch
            { }

            return(Result);
        }
        public void InitWithNamedArguments_NewFilters_AllPropertiesApplied()
        {
            string[] namedArguments = new string[]
            {
                "-reports:" + ReportPath,
                "-targetdir:C:\\temp",
                "-reporttype:Latex",
                "-sourcedirs:C:\\temp\\source;C:\\temp\\source2",
                "-assemblyfilters:+Test;-Test",
                "-classfilters:+Test2;-Test2",
                "-verbosity:" + VerbosityLevel.Info.ToString()
            };

            this.configuration = this.reportConfigurationBuilder.Create(namedArguments);

            Assert.IsTrue(this.configuration.ReportFiles.Contains(ReportPath), "ReportPath does not exist in ReportFiles.");
            Assert.AreEqual("C:\\temp", this.configuration.TargetDirectory, "Wrong target directory applied.");
            Assert.IsTrue(this.configuration.ReportTypes.Contains("Latex"), "Wrong report type applied.");
            Assert.IsTrue(this.configuration.SourceDirectories.Contains("C:\\temp\\source"), "Directory does not exist in Source directories.");
            Assert.IsTrue(this.configuration.SourceDirectories.Contains("C:\\temp\\source2"), "Directory does not exist in Source directories.");
            Assert.IsTrue(this.configuration.AssemblyFilters.Contains("+Test"), "AssemblyFilters does not exist in ReportFiles.");
            Assert.IsTrue(this.configuration.ClassFilters.Contains("+Test2"), "ClassFilters does not exist in ReportFiles.");
            Assert.IsTrue(this.configuration.AssemblyFilters.Contains("-Test"), "AssemblyFilters does not exist in ReportFiles.");
            Assert.IsTrue(this.configuration.ClassFilters.Contains("-Test2"), "ClassFilters does not exist in ReportFiles.");
            Assert.AreEqual(VerbosityLevel.Info, this.configuration.VerbosityLevel, "Wrong verbosity level applied.");
        }
Example #21
0
        public ScoreWriter()
        {
            _config               = new ReportConfiguration(Global.ReportName);
            _printPeriod          = _config.GetBoolean("列印節數", true);
            _printCredit          = _config.GetBoolean("列印權數", false);
            _printLearnDomain     = _config.GetBoolean("列印學習領域總成績", true);
            _domainsWithoutDetail = new List <string>();
            _degreeMapper         = new DegreeMapper();
            _warned               = false;
            _domainText           = new Dictionary <string, string>();

            string printScore = _config.GetString("領域科目設定", "Domain");

            if (printScore == "Domain")
            {
                List <string> list = Global.GetDomainList();

                if (Global.Params["Mode"] == "HsinChu") //新竹市,語文跟彈性科目分列
                {
                    if (list.Contains("語文"))
                    {
                        list.Remove("語文");
                    }
                }

                if (list.Contains("彈性課程"))
                {
                    list.Remove("彈性課程");
                }
                _domainsWithoutDetail.AddRange(list);
                //_domainsWithoutDetail.AddRange(new string[] { "數學", "社會", "藝術與人文", "自然與生活科技", "健康與體育", "綜合活動" });
            }
        }
Example #22
0
        public PartialViewResult GetReport(ReportConfiguration reportConfiguration)
        {
            ReportModel report = analyticsManager.GetReport(reportConfiguration);

            ViewBag.ReportConfig = reportConfiguration;
            return(PartialView("_MonthlyReportPartial", report));
        }
        public ReportPreference(string configName, byte[] defTemplateData)
        {
            _config             = new ReportConfiguration(configName);
            DefaultTemplateData = defTemplateData;

            //SubjectOnly、DomainOnly、SubjectDomain。
            string pt = _config.GetString("PrintType", ListMethod.DomainOnly.ToString());

            ListMethod          = (ListMethod)Enum.Parse(typeof(ListMethod), pt);
            PrintRank           = _config.GetBoolean("PrintRank", false);
            PrintRankPercentage = _config.GetBoolean("PrintRankPercentage", false);
            AcceptAbsences      = _config.GetString("AcceptAbsences", string.Empty);
            EntranceDate        = _config.GetString("EntranceDate", "");
            GraduateDate        = _config.GetString("GraduateDate", "");
            FilterRankScope     = _config.GetBoolean("FilterRankScope", false);
            RankStart           = _config.GetInteger("RankStart", 1);
            RankEnd             = _config.GetInteger("RankEnd", 10);
            ConvertToPDF        = _config.GetBoolean("ConvertToPDF", false);
            SpiltPDF            = _config.GetBoolean("SpiltPDF", false);

            OneFileSave = _config.GetBoolean("OneFileSave", false);

            PrintSemesters = new List <int>();
            string[] semses = _config.GetString("PrintSemesters", "1,2,3,4,5,6").Split(',');
            foreach (string each in semses)
            {
                if (string.IsNullOrEmpty(each))
                {
                    continue;
                }

                PrintSemesters.Add(int.Parse(each));
            }
        }
Example #24
0
 public void BindTo(ReportConfiguration reportConfiguration)
 {
     _reportConfiguration = reportConfiguration;
     _screenBinder.BindToSource(reportConfiguration);
     rgColor.EditValue = reportConfiguration.ColorStyle;
     updateTemplateDescription(reportConfiguration.Template);
 }
        public void InitByConstructor_InvalidValues()
        {
            var configuration = new ReportConfiguration(
                new[] { ReportPath, "\t?<>", "C:\\temp\\DoesNotExist.xml" },
                "C:\\temp",
                new string[] { },
                "C:\\temp\\historic",
                new string[] { },
                new string[] { "notexistingplugin.dll" },
                new string[] { },
                new string[] { },
                new string[] { },
                "Invalid",
                null);

            Assert.Contains(ReportPath, configuration.ReportFiles);
            Assert.Equal("C:\\temp", configuration.TargetDirectory);
            Assert.Equal("C:\\temp\\historic", configuration.HistoryDirectory);
            Assert.Contains("Html", configuration.ReportTypes);
            Assert.Contains("notexistingplugin.dll", configuration.Plugins);
            Assert.Empty(configuration.AssemblyFilters);
            Assert.Empty(configuration.ClassFilters);
            Assert.Equal(VerbosityLevel.Info, configuration.VerbosityLevel);
            Assert.NotNull(configuration.ReportFiles);
            Assert.NotNull(configuration.AssemblyFilters);
            Assert.NotNull(configuration.ClassFilters);

            Assert.False(configuration.VerbosityLevelValid);
            Assert.Equal(2, configuration.InvalidReportFilePatterns.Count);
        }
        public void InitByConstructor_AllDefaultValuesApplied()
        {
            var configuration = new ReportConfiguration(
                new[] { ReportPath },
                "C:\\temp",
                new string[] { },
                "C:\\temp\\historic",
                new string[] { },
                new string[] { },
                new string[] { },
                new string[] { },
                new string[] { },
                null,
                null);

            Assert.Contains(ReportPath, configuration.ReportFiles);
            Assert.Equal("C:\\temp", configuration.TargetDirectory);
            Assert.Equal("C:\\temp\\historic", configuration.HistoryDirectory);
            Assert.Contains("Html", configuration.ReportTypes);
            Assert.Empty(configuration.AssemblyFilters);
            Assert.Empty(configuration.ClassFilters);
            Assert.Equal(VerbosityLevel.Info, configuration.VerbosityLevel);
            Assert.NotNull(configuration.ReportFiles);
            Assert.NotNull(configuration.AssemblyFilters);
            Assert.NotNull(configuration.ClassFilters);

            Assert.True(configuration.VerbosityLevelValid);
            Assert.Equal(0, configuration.InvalidReportFilePatterns.Count);
            Assert.Equal(0, configuration.SourceDirectories.Count);
        }
        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            //取得設定檔
            ReportConfiguration ConfigurationInCadre = new ReportConfiguration(FitnessConfig);
            //畫面內容(範本內容,預設樣式
            TemplateSettingForm TemplateForm;

            if (ConfigurationInCadre.Template != null)
            {
                TemplateForm = new TemplateSettingForm(ConfigurationInCadre.Template, new ReportTemplate(Properties.Resources.體適能證明單_範本1, TemplateType.docx));
            }
            else
            {
                ConfigurationInCadre.Template = new ReportTemplate(Properties.Resources.體適能證明單_範本1, TemplateType.docx);
                TemplateForm = new TemplateSettingForm(ConfigurationInCadre.Template, new ReportTemplate(Properties.Resources.體適能證明單_範本1, TemplateType.docx));
            }

            //預設名稱
            TemplateForm.DefaultFileName = "體適能證明單(範本)";
            //如果回傳為OK
            if (TemplateForm.ShowDialog() == DialogResult.OK)
            {
                //設定後樣試,回傳
                ConfigurationInCadre.Template = TemplateForm.Template;
                //儲存
                ConfigurationInCadre.Save();
            }
        }
Example #28
0
 private OSPSuiteBuildSettings buildSettingsFrom(ReportConfiguration reportConfiguration)
 {
     return(new OSPSuiteBuildSettings
     {
         Verbose = reportConfiguration.Verbose,
     });
 }
Example #29
0
 private void PrintConfigForm_Load(object sender, EventArgs e)
 {
     this.MaximumSize = this.Size;
     this.MinimumSize = this.Size;
     Config           = new ReportConfiguration("未達畢業標準通知單");
     SetupDefaultTemplate();
     LoadConfig();
 }
Example #30
0
        /// <summary>
        ///     delegates file to printer with <paramref name="configuration" />
        /// </summary>
        public void OpenForPrint(string filePath, ReportConfiguration configuration)
        {
            CheckPdfBy(filePath);

            configuration.AddFile(Path.GetFileNameWithoutExtension(filePath));
            DataBase.SaveChanges();
            throw new NotImplementedException("delegate to printer");
        }
        public PrintConfigForm()
        {
            InitializeComponent();
            _config = new ReportConfiguration(Global.ReportName);

            SetupDefaultTemplate();
            LoadConfig();
        }
        public PrintConfigForm()
        {
            InitializeComponent();
            this.MinimumSize = this.Size;
            this.MaximumSize = this.Size;
            _config = new ReportConfiguration(Global.ReportName);

            _Dylanconfig = new ReportConfiguration(Global.OneFileSave);

            //SetupDefaultTemplate();
            LoadConfig();
        }
        public SelectTypeForm(string name)
        {
            InitializeComponent();

            _preferenceElementName = name;
            CheckColumnCount = false;
            rc = new ReportConfiguration(name);

            _BGWAbsenceAndPeriodList = new BackgroundWorker();
            _BGWAbsenceAndPeriodList.DoWork += new DoWorkEventHandler(_BGWAbsenceAndPeriodList_DoWork);
            _BGWAbsenceAndPeriodList.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_BGWAbsenceAndPeriodList_RunWorkerCompleted);
            _BGWAbsenceAndPeriodList.RunWorkerAsync();
        }
        public void GenerateReport()
        {
            Config = new ReportConfiguration(Global.ReportName);

            #region 取得樣板
            //if (Config.Template == null)
            //    Config.Template = new ReportTemplate(Properties.Resources.高雄國中學籍表, TemplateType.Word);
            //_template = Config.Template.ToDocument();
            _template = new Document(new MemoryStream(Properties.Resources.高雄國中學籍表));
            #endregion

            if (_students != null)
            {
                StudentMoralProcessor.ResetCache();
                _worker.RunWorkerAsync();
            }
        }
        /// <summary>
        /// When overridden in a derived class, executes the task.
        /// </summary>
        /// <returns>
        /// true if the task successfully executed; otherwise, false.
        /// </returns>
        public override bool Execute()
        {
            string[] reportTypes = new string[] { };

            if (this.ReportTypes != null && this.ReportTypes.Length > 0)
            {
                reportTypes = this.ReportTypes.Select(r => r.ItemSpec).ToArray();
            }

            ReportConfiguration configuration = new ReportConfiguration(
                new MefReportBuilderFactory(),
                this.ReportFiles == null ? Enumerable.Empty<string>() : this.ReportFiles.Select(r => r.ItemSpec),
                this.TargetDirectory,
                this.HistoryDirectory,
                reportTypes,
                this.SourceDirectories == null ? Enumerable.Empty<string>() : this.SourceDirectories.Select(r => r.ItemSpec),
                this.Filters == null ? Enumerable.Empty<string>() : this.Filters.Select(r => r.ItemSpec),
                this.VerbosityLevel);

            return Program.Execute(configuration);
        }
 public DocTemplateTransfer(string GlobalUserDefineTemplateName)
 {
     _Config = new ReportConfiguration(GlobalUserDefineTemplateName);
     SetDefaultTemplate();
 }
        private void StudInterviewDataReport1Form_Load(object sender, EventArgs e)
        {
            // 畫面不大不動
            this.MaximumSize =this.MinimumSize=this.Size;

            // 讀取設定預設值
            _Config = new ReportConfiguration(_ReportName);
            //設定預設值
            SetDefaultTemplate();
        }
        void _bgLoadData_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            btnPrint.Enabled = true;
            // 填入收件人預設值
            cboMName.Items.AddRange(new string[] { "學生姓名","監護人姓名","父親姓名","母親姓名"}.ToArray());
            cboMAddress.Items.AddRange(new string[] { "戶籍地址","聯絡地址","其他地址" }.ToArray());
            // 讀取畫面設定預設值與設定畫面
            _Config = new ReportConfiguration(_ReportName);
            // 讀取並設定預設值
            SetDefaultTemplate();
            
            // 讀取樣板
            // 使用預設
            if (rbDefault.Checked)
                _WordTemplate = new Document(new MemoryStream(Properties.Resources.缺曠通知單範本));

            // 使用者自訂
            if (rbUserDef.Checked)
                _WordTemplate = _Config.Template.ToDocument();

            // 取讀上課日期
            lvwDate.Items.Clear();
            List<DateTime> dtDateList = new List<DateTime>();
            foreach (UDTTimeSectionDef data in _SelectTimeSectionList)
                if (!dtDateList.Contains(data.Date))
                    dtDateList.Add(data.Date);

            // 日期排序
            dtDateList.Sort();

            foreach (DateTime dt in dtDateList)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Tag = dt;
                lvi.Text = dt.ToShortDateString();
                lvwDate.Items.Add(lvi);
            }
        }
        private void StudentCourseAttendanceRptForm_Load(object sender, EventArgs e)
        {

            this.MaximumSize = this.MinimumSize = this.Size;

            string tiName = "";
            // 讀取所有梯次
            List<string> tName = new List<string>();

            foreach (UDTTimeListDef da in (from data in _TimeList orderby data.SchoolYear, data.Semester, data.Month, data.Name select data))
            {
                tName.Add(da.Name);
                if (da.Active)
                    tiName = da.Name;
            }

            if(tiName!="")
                this.Text=this.Text+" (目前梯次:"+tiName+")";

            cboTimeList.Items.AddRange(tName.ToArray());            

            // 填入收件人預設值
            cboMName.Items.AddRange(new string[] { "學生姓名", "監護人姓名", "父親姓名", "母親姓名" }.ToArray());
            cboMAddress.Items.AddRange(new string[] { "戶籍地址", "聯絡地址", "其他地址" }.ToArray());
            // 讀取畫面設定預設值與設定畫面
            _Config = new ReportConfiguration(_ReportName);
            // 讀取並設定預設值
            SetDefaultTemplate();

            // 讀取樣板
            // 使用預設
            if (rbDefault.Checked)
            {
                if(_SelectChkNotExam)
                    _WordTemplate = new Document(new MemoryStream(Properties.Resources.學生重補修缺曠通知單扣考範本));
                else
                    _WordTemplate = new Document(new MemoryStream(Properties.Resources.學生重補修缺曠通知單範本));
            }

            // 使用者自訂
            if (rbUserDef.Checked)
                _WordTemplate = _Config.Template.ToDocument();
        }
        private void StudABCardReportForm_Load(object sender, EventArgs e)
        {
            // 控制畫面大小不動
            this.MaximumSize = this.MinimumSize = this.Size;

            // 讀取畫面設定預設值與設定畫面
            _Config = new ReportConfiguration(_ReportName);
            SetDefaultTemplate();
        }
 private void StudInterviewDataReportForm_Load(object sender, EventArgs e)
 {
     this.MaximumSize = this.MinimumSize = this.Size;
     _Config = new ReportConfiguration(_ReportName);
     SetDefaultTemplate();
 }
        private void Worker_DoWork(object sender, DoWorkEventArgs e)
        {
            List<string> globalFieldName = new List<string>();
            List<object> globalFieldValue = new List<object>();

            globalFieldName.Add("學校名稱");
            globalFieldValue.Add(K12.Data.School.ChineseName);

            globalFieldName.Add("列印日期");
            globalFieldValue.Add(DateConvert.CDate(DateTime.Now.ToString("yyyy/MM/dd")));

            globalFieldName.Add("列印時間");
            globalFieldValue.Add(DateTime.Now.ToString("HH:mm:ss"));

            ReportConfiguration _Dylanconfig = new ReportConfiguration(Global.OneFileSave);
            OneFileSave = _Dylanconfig.GetBoolean("單檔儲存", false);
            StudentDoc = new Dictionary<string, Document>();

            double total = _students.Count;
            double count = 0;

            List<string> student_ids = new List<string>();
            foreach (JHStudentRecord item in _students)
                student_ids.Add(item.ID);

            #region 快取資料
            //取得異動資料
            Dictionary<string, List<JHUpdateRecordRecord>> updateRecordCache = new Dictionary<string, List<JHUpdateRecordRecord>>();
            foreach (var record in JHUpdateRecord.SelectByStudentIDs(student_ids))
            {
                if (!updateRecordCache.ContainsKey(record.StudentID))
                    updateRecordCache.Add(record.StudentID, new List<JHUpdateRecordRecord>());
                updateRecordCache[record.StudentID].Add(record);
            }

            //取得缺曠獎懲資料
            Dictionary<string, List<AutoSummaryRecord>> autoSummaryCache = new Dictionary<string, List<AutoSummaryRecord>>();
            foreach (AutoSummaryRecord record in AutoSummary.Select(student_ids, null))
            {
                if (!autoSummaryCache.ContainsKey(record.RefStudentID))
                    autoSummaryCache.Add(record.RefStudentID, new List<AutoSummaryRecord>());
                autoSummaryCache[record.RefStudentID].Add(record);
            }

            //取得學期歷程
            Dictionary<string, JHSemesterHistoryRecord> semesterHistoryCache = new Dictionary<string, JHSemesterHistoryRecord>();
            foreach (var record in JHSemesterHistory.SelectByStudentIDs(student_ids))
            {
                if (!semesterHistoryCache.ContainsKey(record.RefStudentID))
                    semesterHistoryCache.Add(record.RefStudentID, record);
            }

            //取得學期成績
            Dictionary<string, List<JHSemesterScoreRecord>> semesterScoreCache = new Dictionary<string, List<JHSemesterScoreRecord>>();
            foreach (var record in JHSemesterScore.SelectByStudentIDs(student_ids))
            {
                if (!semesterScoreCache.ContainsKey(record.RefStudentID))
                    semesterScoreCache.Add(record.RefStudentID, new List<JHSemesterScoreRecord>());
                semesterScoreCache[record.RefStudentID].Add(record);
            }

            // 取得畢業成績
            Dictionary<string, K12.Data.GradScoreRecord> StudGradScoreDic = new Dictionary<string, GradScoreRecord>();
            foreach (GradScoreRecord score in GradScore.SelectByIDs<GradScoreRecord>(student_ids))
                StudGradScoreDic.Add(score.RefStudentID, score);

            ////課程
            //JHCourse.RemoveAll();
            //Dictionary<string, JHCourseRecord> courseCache = new Dictionary<string, JHCourseRecord>();
            //foreach (JHCourseRecord record in JHCourse.SelectAll())
            //{
            //    if (!courseCache.ContainsKey(record.ID))
            //        courseCache.Add(record.ID, record);
            //}
            #endregion

            #region 判斷要列印的領域科目
            Dictionary<string, bool> domains = new Dictionary<string, bool>();
            //Dictionary<string, List<string>> subjects = new Dictionary<string, List<string>>();

            //List<JHCourseRecord> courseList = new List<JHCourseRecord>(courseCache.Values);

            //courseList.Sort(delegate(JHCourseRecord x, JHCourseRecord y)
            //{
            //    return JHSchool.Evaluation.Subject.CompareSubjectOrdinal(x.Subject, y.Subject);
            //});

            string domainSubjectSetup = Config.GetString("領域科目設定", "Domain");
            if (domainSubjectSetup == "Domain")
            {
                foreach (var domain in JHSchool.Evaluation.Subject.Domains)
                    domains.Add(domain, DomainSubjectExpand.不展開);

                if (!domains.ContainsKey("")) domains.Add("", DomainSubjectExpand.展開);
            }
            else if (domainSubjectSetup == "Subject")
            {
                foreach (var domain in JHSchool.Evaluation.Subject.Domains)
                    domains.Add(domain, DomainSubjectExpand.展開);
                if (!domains.ContainsKey("")) domains.Add("", DomainSubjectExpand.展開);
            }
            else
                throw new Exception("請重新儲存一次列印設定");

            //foreach (var domain in JHSchool.Evaluation.Subject.Domains)
            //    subjects.Add(domain, new List<string>());
            //if (!subjects.ContainsKey("")) subjects.Add("", new List<string>());

            //foreach (var course in courseList)
            //{
            //    if (!subjects.ContainsKey(course.Domain))
            //        subjects.Add(course.Domain, new List<string>());
            //    if (!subjects[course.Domain].Contains(course.Subject) &&
            //        domains.ContainsKey(course.Domain) &&
            //        domains[course.Domain] == false)
            //    {
            //        subjects[course.Domain].Add(course.Subject);
            //    }
            //}
            #endregion

            DocumentBuilder templateBuilder = new DocumentBuilder(_template);

            #region 節權數顯示
            string pcDisplay = string.Empty;
            bool printPeriod = Config.GetBoolean("列印節數", true);
            bool printCredit = Config.GetBoolean("列印權數", false);
            if (printPeriod && printCredit)
                pcDisplay = "節權數";
            else if (printPeriod)
                pcDisplay = "節數";
            else if (printCredit)
                pcDisplay = "權數";

            while (templateBuilder.MoveToMergeField("節權數"))
                templateBuilder.Write(pcDisplay);
            #endregion

            #region 文字評語是否列印
            bool printText = Config.GetBoolean("列印文字評語", true);
            if (printText == false)
            {
                templateBuilder.MoveToMergeField("學習領域評量");
                (templateBuilder.CurrentParagraph.ParentNode as Cell).ParentRow.ParentTable.Remove();
            }
            #endregion

            #region 服務學習時數
            Global._SLRDict.Clear();
            Global._SLRDict = Utility.GetServiceLearningDetail(student_ids);
            #endregion

            #region 產生
            foreach (JHStudentRecord student in _students)
            {
                count++;

                Document each = (Document)_template.Clone(true);
                DocumentBuilder builder = new DocumentBuilder(each);

                #region 建立學期歷程對照
                List<SemesterHistoryItem> semesterHistoryList = null;
                if (semesterHistoryCache.ContainsKey(student.ID))
                    semesterHistoryList = semesterHistoryCache[student.ID].SemesterHistoryItems;
                else
                    semesterHistoryList = new List<SemesterHistoryItem>();

                SemesterMap map = new SemesterMap();
                map.SetData(semesterHistoryList);
                #endregion

                #region 學生基本資料
                StudentBasicInfo basicInfo = new StudentBasicInfo(builder);
                basicInfo.SetStudent(student, semesterHistoryList);
                #endregion

                #region 異動資料
                List<JHUpdateRecordRecord> updateRecordList = null;
                if (updateRecordCache.ContainsKey(student.ID))
                    updateRecordList = updateRecordCache[student.ID];
                else
                    updateRecordList = new List<JHUpdateRecordRecord>();

                StudentUpdateRecordProcessor updateRecordProcessor = new StudentUpdateRecordProcessor(builder);
                updateRecordProcessor.SetData(updateRecordList);
                #endregion

                #region 日常表現
                List<AutoSummaryRecord> autoSummaryList = null;
                if (autoSummaryCache.ContainsKey(student.ID))
                    autoSummaryList = autoSummaryCache[student.ID];
                else
                    autoSummaryList = new List<AutoSummaryRecord>();

                StudentMoralProcessor moralProcessor = new StudentMoralProcessor(builder, map);
                moralProcessor.SetData(autoSummaryList);
                #endregion

                #region 學期歷程
                StudentHistoryProcessor history = new StudentHistoryProcessor(builder, map, (semesterHistoryCache.ContainsKey(student.ID) ? semesterHistoryCache[student.ID] : null));
                #endregion

                #region 學期成績
                List<JHSemesterScoreRecord> semesterScoreList = null;
                if (semesterScoreCache.ContainsKey(student.ID))
                    semesterScoreList = semesterScoreCache[student.ID];
                else
                    semesterScoreList = new List<JHSemesterScoreRecord>();

                // 畢業成績
                K12.Data.GradScoreRecord StudGradScore = new GradScoreRecord();
                if (StudGradScoreDic.ContainsKey(student.ID))
                    StudGradScore = StudGradScoreDic[student.ID];

                StudentSemesterScoreProcessor semesterScoreProcessor = new StudentSemesterScoreProcessor(builder, map, domainSubjectSetup, domains, StudGradScore);
                semesterScoreProcessor.DegreeMapper = _degreeMapper;
                semesterScoreProcessor.PrintPeriod = printPeriod;
                semesterScoreProcessor.PrintCredit = printCredit;
                semesterScoreProcessor.SetData(semesterScoreList);
                #endregion

                #region 學習領域評量
                if (printText == true)
                {
                    StudentTextProcessor text = new StudentTextProcessor(builder, map);
                    text.SetData(semesterScoreList);
                }
                #endregion

                if (OneFileSave)
                {
                    each.MailMerge.Execute(globalFieldName.ToArray(), globalFieldValue.ToArray());

                    string fileName = "";
                    fileName = student.StudentNumber;

                    if (!string.IsNullOrEmpty(student.RefClassID))
                        fileName += "_" + student.Class.Name;
                    else
                        fileName += "_";

                    fileName += "_" + (student.SeatNo.HasValue ? student.SeatNo.Value.ToString() : "");
                    fileName += "_" + student.Name;

                    if (!StudentDoc.ContainsKey(fileName))
                    {
                        StudentDoc.Add(fileName, each);
                    }

                }
                else
                {
                    foreach (Section sec in each.Sections)
                        _doc.Sections.Add(_doc.ImportNode(sec, true));
                }

                //回報進度
                _worker.ReportProgress((int)(count * 100.0 / total));
            }

            if (!OneFileSave)
            {
                _doc.MailMerge.Execute(globalFieldName.ToArray(), globalFieldValue.ToArray());
            }

            #endregion
        }