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)); }