Example #1
0
        public bool LoadTemplate(string reportID, string fileName)
        {
            string sql = GetSelectTemplateSql(reportID, fileName);
            DataSet ds = CliUtils.ExecuteSql("GLModule", "cmdRefValUse", sql, true, CliUtils.fCurrentProject);
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count == 1)
            {
                DataRow dr = ds.Tables[0].Rows[0];
                BinarySerialize serializer = new BinarySerialize();
                report.ReportName = dr[SysRptDB.ReportName].ToString();
                report.Description = dr[SysRptDB.Description].ToString();
                report.FilePath = dr[SysRptDB.FilePath].ToString();
                report.OutputMode = (OutputModeType)Enum.Parse(typeof(OutputModeType), dr[SysRptDB.OutputMode].ToString());
                string repeater = dr[SysRptDB.HeaderRepeat].ToString();
                if (string.IsNullOrEmpty(repeater))
                {
                    report.HeaderRepeat = true;
                }
                else
                {
                    report.HeaderRepeat = Boolean.Parse(repeater);
                }

                report.HeaderFont = (Font)serializer.DeSerialize((byte[])dr[SysRptDB.HeaderFont]);
                ReportItemCollection headerItems = (ReportItemCollection)serializer.DeSerialize(((byte[])dr[SysRptDB.HeaderItems]));
                report.HeaderItems.Clear();
                foreach (ReportItem item in headerItems)
                {
                    report.HeaderItems.Add(item.Copy());
                }

                report.FieldFont = (Font)serializer.DeSerialize((byte[])dr[SysRptDB.FieldFont]);
                DataSourceItemCollection fieldItems = (DataSourceItemCollection)serializer.DeSerialize(((byte[])dr[SysRptDB.FieldItems]));
                report.FieldItems.Clear();
                foreach (DataSourceItem item in fieldItems)
                {
                    report.FieldItems.Add(item.Copy());
                }

                report.FooterFont = (Font)serializer.DeSerialize((byte[])dr[SysRptDB.FooterFont]);
                ReportItemCollection FooterItems = (ReportItemCollection)serializer.DeSerialize(((byte[])dr[SysRptDB.FooterItems]));
                report.FooterItems.Clear();
                foreach (ReportItem item in FooterItems)
                {
                    report.FooterItems.Add(item.Copy());
                }

                ParameterItemCollection parameters = (ParameterItemCollection)serializer.DeSerialize((byte[])dr[SysRptDB.Parameters]);
                report.Parameters.Clear();
                foreach (ParameterItem item in parameters)
                {
                    report.Parameters.Add(item.Copy());
                }

                ImageItemCollection images = (ImageItemCollection)serializer.DeSerialize((byte[])dr[SysRptDB.Images]);
                report.Images.Clear();
                foreach (ImageItem item in images)
                {
                    report.Images.Add(item.Copy());
                }

                ((ReportFormat)serializer.DeSerialize((byte[])dr[SysRptDB.Format])).CopyTo(this.report.Format);
                ((MailConfig)serializer.DeSerialize((byte[])dr[SysRptDB.MailSetting])).CopyTo(this.report.MailSetting);
                return true;
            }
            else
            {
                return false;
            }
        }
Example #2
0
        public ExecutionResult SaveTemplate(string fileName)
        {
            #region Variable Definition
            ExecutionResult execRes = new ExecutionResult();
            BinarySerialize serializer = new BinarySerialize();
            byte[] buffer = null;
            Hashtable values = new Hashtable();
            #endregion
            //IDbConnection iDbConn = this.GetConnection(this.report.EEPAlias);
            try
            {
                #region Get serialized values
                //ReportID
                if (string.IsNullOrEmpty(this.report.ReportID))
                {
                    values.Add(SysRptDB.ReportID, SysRptDB.SysReportID);
                }
                else
                {
                    values.Add(SysRptDB.ReportID, this.report.ReportID);
                }
                //FileName
                //values.Add(Path.GetFileName(report.FilePath));
                values.Add(SysRptDB.FileName, fileName);

                //ReportName
                values.Add(SysRptDB.ReportName, report.ReportName);

                //Description
                values.Add(SysRptDB.Description, report.Description);

                //FilePath
                values.Add(SysRptDB.FilePath, report.FilePath);

                //OutputMode
                values.Add(SysRptDB.OutputMode, report.OutputMode.ToString());

                //HeaderRepeat
                values.Add(SysRptDB.HeaderRepeat, report.HeaderRepeat.ToString());

                //HeaderFont
                buffer = serializer.Serialize(report.HeaderFont);
                values.Add(SysRptDB.HeaderFont, buffer);

                //HeaderItems
                buffer = serializer.Serialize(report.HeaderItems);
                values.Add(SysRptDB.HeaderItems, buffer);

                //FooterFont
                buffer = serializer.Serialize(report.FooterFont);
                values.Add(SysRptDB.FooterFont, buffer);

                //FooterItems
                buffer = serializer.Serialize(report.FooterItems);
                values.Add(SysRptDB.FooterItems, buffer);

                //FieldFont
                buffer = serializer.Serialize(report.FieldFont);
                values.Add(SysRptDB.FieldFont, buffer);

                //FieldItems
                buffer = serializer.Serialize(report.FieldItems);
                values.Add(SysRptDB.FieldItems, buffer);

                ////Setting
                //buffer = serializer.Serialize(report.Setting);
                //values.Add(SysRptDB.Setting, buffer);

                //Format
                buffer = serializer.Serialize(report.Format);
                values.Add(SysRptDB.Format, buffer);

                //Parameters
                buffer = serializer.Serialize(report.Parameters);
                values.Add(SysRptDB.Parameters, buffer);

                //Images
                buffer = serializer.Serialize(report.Images);
                values.Add(SysRptDB.Images, buffer);

                //Mail Setting
                buffer = serializer.Serialize(report.MailSetting);
                values.Add(SysRptDB.MailSetting, buffer);
                #endregion

                if (this.report.ReportID == null || this.report.ReportID == String.Empty)
                {
                    execRes = this.ExecuteSql(GetSelectTemplateSql(fileName), ExecuteMode.Select);
                }
                else
                {
                    execRes = this.ExecuteSql(GetSelectTemplateSql(this.report.ReportID, fileName), ExecuteMode.Select);
                }

                if (execRes.Status)
                {
                    if (((DataTable)execRes.Anything).Rows.Count == 0)
                    {
                        execRes = this.ExecuteSql(GetInsertSysRptTableSql(values), ExecuteMode.Insert, values);
                    }
                    else
                    {
                        //if (saveMode == SaveMode.Save)
                        //{
                        execRes = this.ExecuteSql(GetUpdateSysRptTableSql(values), ExecuteMode.Update, values);
                        //}
                        //else
                        //{
                        //  execRes.Status = false;
                        //    execRes.Message = MessageInfo.TemplateExist;
                        //}
                    }
                }

                if (execRes.Status)
                {
                    execRes.Message = MessageInfo.SaveSuccess;
                }
            }
            catch (Exception ex)
            {
                execRes.Status = false;
                execRes.Message = ex.Message;
            }
            finally
            {
            }

            return execRes;
        }
Example #3
0
        public WebEasilyReport()
        {
            headerItems = new ReportItemCollection(this);
            footerItems = new ReportItemCollection(this);

            fieldItems = new DataSourceItemCollection(this);
            dataSource = new WebDataSourceItemCollection(this);
            mailSetting = new MailConfig();
            format = new ReportFormat();
            parameters = new ParameterItemCollection();
            images = new ImageItemCollection();
            dbGateway = new DBGateway(this);
            serializer = new BinarySerialize();

            this.reportID = ComponentInfo.DefaultReportID + DateTime.Now.ToString("yyyyMMdd");
            this.reportName = "";

            fontConvert = new FontConverter();
            Visible = false;

            if (this.UIType == EasilyReportUIType.AspNet)
            {
                render = new AspNetRender(this);
            }
            else
            {
                render = new ExtJsRender(this);
            }
        }