Exemple #1
0
        public string PublicAssetProfitReport(DateTime db, DateTime de, InsuranceType insType, Guid?govId)
        {
            ReportParameters pars = new ReportParameters("AssetProfitReport", ContentTypes.MicrosoftExcel, "AssetProfitReport.xls");

            //select * from [dbo].[add_fn_AssetCostReport] ('01.09.2012', '30.09.2012', 1) for xml raw('ReportRow'), root('ReportView')
            pars["Caption"] = "Report";

            var dbParam = new SqlParameter("@db", db.ToString("d"));
            //dbParam.SqlDbType = System.Data.SqlDbType.Date;

            var deParam = new SqlParameter("@de", de.ToString("d"));
            //deParam.SqlDbType = System.Data.SqlDbType.Date;

            var typeParam = new SqlParameter("@type", insType);

            var govIdParam = new SqlParameter("@govid", govId ?? (object)DBNull.Value);

            govIdParam.SqlDbType  = System.Data.SqlDbType.UniqueIdentifier;
            govIdParam.IsNullable = true;
            govIdParam.DbType     = System.Data.DbType.Guid;

            XmlDocument doc = _db.SqlQueryXml("set ARITHABORT ON;select * from [dbo].[add_fn_AssetCostReport] (convert(datetime, @db, 104), convert(datetime, @de, 104), @type, @govid)"
                                              , "ReportView", "ReportRow", dbParam, deParam, typeParam, govIdParam);

            //XmlDocument doc = _db.SqlQueryXml("select * from [dbo].[add_fn_AssetCostReport] (@db, @de, @type, @govid)", "ReportView", "ReportRow", dbParam, deParam, typeParam, govIdParam);
            //XmlDocument doc = _db.SqlQueryXml("select * from [dbo].[add_fn_AssetCostReport] ('01.04.2010', '31.03.2013', 1)", "ReportView", "ReportRow");
            doc.DocumentElement.SetAttribute("DateBegin", XmlConvert.ToString(db, "dd.MM.yyyy"));
            doc.DocumentElement.SetAttribute("DateEnd", XmlConvert.ToString(de, "dd.MM.yyyy"));
            doc.DocumentElement.SetAttribute("InsuranceType", insType.ToString());
            pars.AddXmlElement(doc.DocumentElement);

            //doc = _db.SqlQueryXml("select * from [dbo].[add_fn_AssetCostReportYearTotal] ('01.04.2010', '31.03.2013', 1)", "YearTotal", "YearTotalRow");
            //doc = _db.SqlQueryXml("select * from [dbo].[add_fn_AssetCostReportYearTotal] (@db, @de, @type, @govid)", "YearTotal", "YearTotalRow"
            doc = _db.SqlQueryXml("set ARITHABORT ON;select * from [dbo].[add_fn_AssetCostReportYearTotal] (convert(datetime, @db, 104), convert(datetime, @de, 104), @type, @govid)", "YearTotal", "YearTotalRow"
                                  , (SqlParameter)(dbParam as ICloneable).Clone(), (SqlParameter)(deParam as ICloneable).Clone(), (SqlParameter)(typeParam as ICloneable).Clone(), (SqlParameter)(govIdParam as ICloneable).Clone());
            pars.AddXmlElement(doc.DocumentElement);

            //doc = _db.SqlQueryXml("select * from [dbo].[add_fn_AssetCostReportTotal] ('01.04.2010', '31.03.2013', 1)", "Total", "TotalRow");
            //doc = _db.SqlQueryXml("select * from [dbo].[add_fn_AssetCostReportTotal] (@db, @de, @type, @govid)", "Total", "TotalRow"
            doc = _db.SqlQueryXml("set ARITHABORT ON;select * from [dbo].[add_fn_AssetCostReportTotal] (convert(datetime, @db, 104), convert(datetime, @de, 104), @type, @govid)", "Total", "TotalRow"
                                  , (SqlParameter)(dbParam as ICloneable).Clone(), (SqlParameter)(deParam as ICloneable).Clone(), (SqlParameter)(typeParam as ICloneable).Clone(), (SqlParameter)(govIdParam as ICloneable).Clone());
            pars.AddXmlElement(doc.DocumentElement);
            return(ReportGenerator.GenerateReportToRawString(pars));
        }