Esempio n. 1
0
        static public string GetFullScript(string script, object model, string header = null)
        {
            var    result = script;
            Report report = null;
            SealServerConfiguration configuration = null;

            if (model is SealServerConfiguration)
            {
                configuration = (SealServerConfiguration)model;
            }
            else if (model is Report)
            {
                var ob = (Report)model;
                report = ob;
                if (ob.Repository != null)
                {
                    configuration = ob.Repository.Configuration;
                }
                else if (ob.Tag != null && ob.Tag is SealServerConfiguration)
                {
                    configuration = (SealServerConfiguration)ob.Tag;
                }
            }
            else if (model is ReportComponent)
            {
                var ob = (ReportComponent)model;
                if (ob.Report != null)
                {
                    report = ob.Report;
                    if (report.Repository != null)
                    {
                        configuration = report.Repository.Configuration;
                    }
                    else if (report.Tag != null && report.Tag is SealServerConfiguration)
                    {
                        configuration = (SealServerConfiguration)ob.Report.Tag;
                    }
                }
            }
            else if (model is NavigationLink)
            {
                var ob = (NavigationLink)model;
                if (ob.Report != null)
                {
                    report = ob.Report;
                    if (report.Repository != null)
                    {
                        configuration = report.Repository.Configuration;
                    }
                }
            }
            else if (model is ResultCell)
            {
                var ob = (ResultCell)model;
                report = ob.Element.Report;
                if (report.Repository != null)
                {
                    configuration = report.Repository.Configuration;
                }
            }
            else if (model is MetaEnum)
            {
                var ob = (MetaEnum)model;
                if (ob.Source != null)
                {
                    report        = ob.Source.Report;
                    configuration = ob.Source.Repository.Configuration;
                }
            }
            else if (model is MetaTable)
            {
                var ob = (MetaTable)model;
                if (ob.Source != null)
                {
                    report        = ob.Source.Report;
                    configuration = ob.Source.Repository.Configuration;
                }
            }
            else if (model is MetaConnection)
            {
                var ob = (MetaConnection)model;
                if (ob.Source != null)
                {
                    report        = ob.Source.Report;
                    configuration = ob.Source.Repository.Configuration;
                }
            }
            else if (model is SealExcelConverter)
            {
                var ob = (SealExcelConverter)model;
                report        = ob.GetReport();
                configuration = (report == null ? Repository.Instance.Configuration : report.Repository.Configuration);
            }
            else if (model is SealPdfConverter)
            {
                var ob = (SealPdfConverter)model;
                report        = ob.GetReport();
                configuration = (report == null ? Repository.Instance.Configuration : report.Repository.Configuration);
            }

            if (!string.IsNullOrEmpty(header))
            {
                result += "\r\n" + header;
            }

            if (report != null && header == null)
            {
                if (!string.IsNullOrEmpty(report.CommonScriptsHeader))
                {
                    result = result + "\r\n" + report.CommonScriptsHeader;
                }
            }

            if (configuration != null)
            {
                result = configuration.SetConfigurationCommonScripts(result);
            }

            //Add default using
            if (!result.Contains("@using Seal.Model"))
            {
                result += "@using Seal.Model\r\n";
            }
            if (!result.Contains("@using Seal.Helpers"))
            {
                result += "@using Seal.Helpers\r\n";
            }

            return(result);
        }
Esempio n. 2
0
        static public string GetScriptHeader(object model)
        {
            var    result = "";
            Report report = null;
            SealServerConfiguration configuration = null;

            if (model is SealServerConfiguration)
            {
                configuration = (SealServerConfiguration)model;
            }
            else if (model is Report)
            {
                var ob = (Report)model;
                report = ob;
                if (ob.Repository != null)
                {
                    configuration = ob.Repository.Configuration;
                }
                else if (ob.Tag != null && ob.Tag is SealServerConfiguration)
                {
                    configuration = (SealServerConfiguration)ob.Tag;
                }
            }
            else if (model is ReportComponent)
            {
                var ob = (ReportComponent)model;
                if (ob.Report != null)
                {
                    report = ob.Report;
                    if (ob.Report.Repository != null)
                    {
                        configuration = ob.Report.Repository.Configuration;
                    }
                    else if (ob.Report.Tag != null && ob.Report.Tag is SealServerConfiguration)
                    {
                        configuration = (SealServerConfiguration)ob.Report.Tag;
                    }
                }
            }
            else if (model is MetaEnum)
            {
                var ob = (MetaEnum)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }
            else if (model is MetaTable)
            {
                var ob = (MetaTable)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }
            else if (model is MetaConnection)
            {
                var ob = (MetaConnection)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }

            if (configuration == null)
            {
                configuration = Repository.Instance.Configuration;
            }

            if (!string.IsNullOrEmpty(configuration.CommonScriptsHeader))
            {
                result += configuration.CommonScriptsHeader + "\r\n";
            }
            if (model is ReportTask && !string.IsNullOrEmpty(configuration.TasksScript))
            {
                result += configuration.TasksScript + "\r\n";
            }

            if (report != null)
            {
                if (!string.IsNullOrEmpty(report.CommonScriptsHeader))
                {
                    result += report.CommonScriptsHeader + "\r\n";
                }
                if (model is ReportTask && !string.IsNullOrEmpty(report.TasksScript))
                {
                    result += report.TasksScript + "\r\n";
                }
            }
            return(result);
        }
Esempio n. 3
0
        static public string GetScriptHeader(object model)
        {
            var    result = "";
            Report report = null;
            SealServerConfiguration configuration = null;

            if (model is SealServerConfiguration)
            {
                configuration = (SealServerConfiguration)model;
            }
            else if (model is Report)
            {
                var ob = (Report)model;
                report = ob;
                if (ob.Repository != null)
                {
                    configuration = ob.Repository.Configuration;
                }
                else if (ob.Tag != null && ob.Tag is SealServerConfiguration)
                {
                    configuration = (SealServerConfiguration)ob.Tag;
                }
            }
            else if (model is ReportComponent)
            {
                var ob = (ReportComponent)model;
                if (ob.Report != null)
                {
                    report = ob.Report;
                    if (ob.Report.Repository != null)
                    {
                        configuration = ob.Report.Repository.Configuration;
                    }
                    else if (ob.Report.Tag != null && ob.Report.Tag is SealServerConfiguration)
                    {
                        configuration = (SealServerConfiguration)ob.Report.Tag;
                    }
                }
            }
            else if (model is MetaEnum)
            {
                var ob = (MetaEnum)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }
            else if (model is MetaTable)
            {
                var ob = (MetaTable)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }
            else if (model is MetaConnection)
            {
                var ob = (MetaConnection)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }

            if (configuration != null)
            {
                foreach (var script in configuration.CommonScripts)
                {
                    result = result.Replace(string.Format("@Include(\"{0}\")", script.Name), script.Script);
                }
            }

            if (report != null)
            {
                if (!string.IsNullOrEmpty(report.CommonScriptsHeader))
                {
                    result += report.CommonScriptsHeader + "\r\n";
                }
            }
            return(result);
        }
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            MetaColumn              column  = context.Instance as MetaColumn;
            ReportElement           element = context.Instance as ReportElement;
            ReportOutput            output  = context.Instance as ReportOutput;
            SealServerConfiguration config  = context.Instance as SealServerConfiguration;
            List <string>           choices = new List <string>();

            choices.Add("");
            if (element != null)
            {
                if (element.IsNumeric)
                {
                    addNumericChoices(choices);
                }
                else if (element.IsDateTime)
                {
                    addDateTimeChoices(choices);
                }
                else
                {
                    addStringChoices(choices);
                }

                if (!string.IsNullOrEmpty(element.FormatEl) && !choices.Contains(element.FormatEl))
                {
                    choices.Add(element.FormatEl);
                }
            }
            else if (column != null)
            {
                if (column.Type == ColumnType.Numeric)
                {
                    addNumericChoices(choices);
                }
                else if (column.Type == ColumnType.DateTime)
                {
                    addDateTimeChoices(choices);
                }
                else
                {
                    addStringChoices(choices);
                }

                if (!string.IsNullOrEmpty(column.Format) && !choices.Contains(column.Format))
                {
                    choices.Add(column.Format);
                }
            }
            else if (output != null)
            {
                choices.Clear();
                choices.Add(Repository.SealReportDisplayNameKeyword);
                choices.Add(Repository.SealReportDisplayNameKeyword + "_{0:yyyy_MM_dd}");
                choices.Add(Repository.SealReportDisplayNameKeyword + "_{0:yyyy_MM_dd HH_mm_ss}");
                choices.Add(output.Report.ExecutionName);
                choices.Add(output.Report.ExecutionName + "_{0:yyyy_MM_dd}");
                choices.Add(output.Report.ExecutionName + "_{0:yyyy_MM_dd HH_mm_ss}");
                choices.Add(output.Name);
                choices.Add(output.Name + "_{0:yyyy_MM_dd}");
                choices.Add(output.Name + "_{0:yyyy_MM_dd HH_mm_ss}");

                if (!string.IsNullOrEmpty(output.FileName) && !choices.Contains(output.FileName))
                {
                    choices.Add(output.FileName);
                }
            }
            else if (config != null)
            {
                if (context.PropertyDescriptor.Name == "NumericFormat")
                {
                    addNumericChoices(choices);
                }
                else if (context.PropertyDescriptor.Name == "DateTimeFormat")
                {
                    addDateTimeChoices(choices);
                }
                else
                {
                    addStringChoices(choices);
                }
            }
            return(new StandardValuesCollection(choices.ToArray()));
        }
Esempio n. 5
0
        static public string GetFullScript(string script, object model, string header = null)
        {
            var    result = script;
            Report report = null;
            SealServerConfiguration configuration = null;

            if (model is SealServerConfiguration)
            {
                configuration = (SealServerConfiguration)model;
            }
            else if (model is Report)
            {
                var ob = (Report)model;
                report = ob;
                if (ob.Repository != null)
                {
                    configuration = ob.Repository.Configuration;
                }
                else if (ob.Tag != null && ob.Tag is SealServerConfiguration)
                {
                    configuration = (SealServerConfiguration)ob.Tag;
                }
            }
            else if (model is ReportComponent)
            {
                var ob = (ReportComponent)model;
                if (ob.Report != null)
                {
                    report = ob.Report;
                    if (report.Repository != null)
                    {
                        configuration = report.Repository.Configuration;
                    }
                    else if (report.Tag != null && report.Tag is SealServerConfiguration)
                    {
                        configuration = (SealServerConfiguration)ob.Report.Tag;
                    }
                }
            }
            else if (model is NavigationLink)
            {
                var ob = (NavigationLink)model;
                if (ob.Cell != null)
                {
                    report = ob.Cell.Element.Report;
                    if (report.Repository != null)
                    {
                        configuration = report.Repository.Configuration;
                    }
                }
            }
            else if (model is ResultCell)
            {
                var ob = (ResultCell)model;
                report = ob.Element.Report;
                if (report.Repository != null)
                {
                    configuration = report.Repository.Configuration;
                }
            }
            else if (model is MetaEnum)
            {
                var ob = (MetaEnum)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }
            else if (model is MetaTable)
            {
                var ob = (MetaTable)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }
            else if (model is MetaConnection)
            {
                var ob = (MetaConnection)model;
                report        = ob.Source.Report;
                configuration = ob.Source.Repository.Configuration;
            }

            if (!string.IsNullOrEmpty(header))
            {
                result += "\r\n" + header;
            }

            if (report != null && header == null)
            {
                if (!string.IsNullOrEmpty(report.CommonScriptsHeader))
                {
                    result = result + "\r\n" + report.CommonScriptsHeader;
                }
            }

            if (configuration != null)
            {
                result = configuration.SetConfigurationCommonScripts(result);
            }

            return(result);
        }