コード例 #1
0
        //Entrega el dataset de un ReportHeader
        public static DataSet GetReportDataset(ReportHeaderFormat header)
        {
            if (header == null)
            {
                return(null);
            }

            //Add Header to DataSet
            DataSet       dh            = new DataSet("Header");
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(ReportHeaderFormat));
            StringWriter  writer        = new StringWriter();

            xmlSerializer.Serialize(writer, header);
            StringReader reader = new StringReader(writer.ToString());

            dh.ReadXml(reader);
            //dh.Tables[0].TableName = "Header";


            ////Add Detail List to DataSet
            //DataSet dd = new DataSet("Details");
            //xmlSerializer = new XmlSerializer(header.ReportDetails.ToArray().GetType());  //  detailList.GetType()
            //writer = new StringWriter();
            //xmlSerializer.Serialize(writer, header.ReportDetails.ToArray());
            //reader = new StringReader(writer.ToString());
            //dd.ReadXml(reader);
            //dd.Tables[0].TableName = "Details";

            //dd.Tables.Add(dh.Tables[0].Copy()); //Adicionamos el header a los details
            return(dh);
        }
コード例 #2
0
        //Process Document
        public static DataSet ProcessDocument(int documentID, WMSServiceClient service, string template)
        {
            //Llama al Dao de reportes, y segun el Tipo Obtiene un DataSet Con Los datos Requeridos
            ReportHeaderFormat rptHdr = service.GetReportInformation(new Document {
                DocID = documentID, Company = App.curCompany, Location = App.curLocation
            },
                                                                     template);

            return(ReportMngr.GetReportDataset(rptHdr));
        }
コード例 #3
0
        //Entrega el dataset de un ReportHeader
        public DataSet GetReportDataset(ReportHeaderFormat header)
        {
            //Add Header to DataSet
            DataSet       dh            = new DataSet("Header");
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(ReportHeaderFormat));
            StringWriter  writer        = new StringWriter();

            xmlSerializer.Serialize(writer, header);
            StringReader reader = new StringReader(writer.ToString());

            dh.ReadXml(reader);
            return(dh);
        }
コード例 #4
0
ファイル: ReportMngr.cs プロジェクト: erwin-hamid/LogPro
        //Entrega el dataset de un ReportHeader
        public static DataSet GetReportDataset(ReportHeaderFormat header)
        {
            if (header == null)
                return null;

            //Add Header to DataSet
            DataSet dh = new DataSet("Header");
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(ReportHeaderFormat));
            StringWriter writer = new StringWriter();
            xmlSerializer.Serialize(writer, header);
            StringReader reader = new StringReader(writer.ToString());
            dh.ReadXml(reader);
            //dh.Tables[0].TableName = "Header";


            ////Add Detail List to DataSet
            //DataSet dd = new DataSet("Details");
            //xmlSerializer = new XmlSerializer(header.ReportDetails.ToArray().GetType());  //  detailList.GetType()
            //writer = new StringWriter();
            //xmlSerializer.Serialize(writer, header.ReportDetails.ToArray());
            //reader = new StringReader(writer.ToString());
            //dd.ReadXml(reader);
            //dd.Tables[0].TableName = "Details";

            //dd.Tables.Add(dh.Tables[0].Copy()); //Adicionamos el header a los details
            return dh;
        }
コード例 #5
0
        private string[] Attachements(MessagePool message)
        {
            string[] results = new string[0];
            try
            {
                LocalReport localReport;
                // "E:\\GagPrjs\\wms30_\\WpfFrontOLD\\bin\\Debug"; //
                string appPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), WmsSetupValues.WebServer);

                string[] files = message.Rule.Files.Split(',');
                results = new string[files.Count()];
                int cont = 0;

                // ciclo de attachements asociados al correo programado
                foreach (string templateId in files)
                {
                    localReport = new LocalReport();
                    LabelTemplate template = Factory.DaoLabelTemplate().Select(new LabelTemplate {
                        RowID = int.Parse(templateId)
                    }).First();
                    string reportPath = Path.Combine(appPath, WmsSetupValues.RdlTemplateDir + "\\" + template.Header);
                    localReport.ReportPath = reportPath;

                    //Obteniendo la informacion del Reporte (DataSet)
                    ReportMngr repMng = new ReportMngr();
                    Document   doc    = Factory.DaoDocument().Select(new Document {
                        DocID = message.RecordID
                    }).First();

                    ReportHeaderFormat rptHdr = repMng.GetReportInformation(doc, template.Header);
                    if (rptHdr.ReportDetails == null || rptHdr.ReportDetails.Count == 0)
                    {
                        rptHdr.ReportDetails.Add(new ReportDetailFormat {
                        });
                    }

                    DataSet ds = GetReportDataset(rptHdr);
                    localReport.DataSources.Add(new ReportDataSource("Header", ds.Tables["ReportHeaderFormat"]));
                    localReport.DataSources.Add(new ReportDataSource("Details", ds.Tables["ReportDetailFormat"]));

                    string mimeType;
                    string encoding;
                    string fileNameExtension;
                    string reportType = "PDF";

                    //The DeviceInfo settings should be changed based on the reportType
                    //http://msdn2.microsoft.com/en-us/library/ms155397.aspx
                    string deviceInfo =
                        "<DeviceInfo>" +
                        "  <OutputFormat>" + reportType + "</OutputFormat>" +
                        "  <PageWidth>10in</PageWidth>" +
                        "  <PageHeight>11in</PageHeight>" +
                        "  <MarginTop>0.2in</MarginTop>" +
                        "  <MarginLeft>1.0in</MarginLeft>" +
                        "  <MarginRight>0.5in</MarginRight>" +
                        "  <MarginBottom>0.2in</MarginBottom>" +
                        "</DeviceInfo>";

                    Warning[] warnings;
                    string[]  streams;
                    byte[]    renderedBytes;

                    //Render the report
                    renderedBytes = localReport.Render(
                        reportType,
                        deviceInfo,
                        // null,
                        out mimeType,
                        out encoding,
                        out fileNameExtension,
                        out streams,
                        out warnings);

                    string       path = Path.Combine(appPath, WmsSetupValues.PrintReportDir + "\\" + doc.DocNumber + "_" + template.Name + "." + reportType);
                    BinaryWriter bn   = new BinaryWriter(File.Open(path, FileMode.Create));
                    bn.Write(renderedBytes);
                    bn.Flush();
                    bn.Close();

                    results[cont++] = path;
                }
            }
            catch { }
            return(results);
        }