56 lines
1.6 KiB
C#
56 lines
1.6 KiB
C#
using System;
|
|
using DevExpress.Xpo;
|
|
using DevExpress.XtraReports.Native;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using EnVisage.Reports.DataSources;
|
|
using EnVisage.Reports.DataSources.ReportingDataSourceTableAdapters;
|
|
using DevExpress.XtraReports.UI;
|
|
|
|
namespace Envisage.Code.BLL
|
|
{
|
|
public class CustomDataSourceSerializer : IDataSerializer
|
|
{
|
|
public const string Name = "CustomDataSourceSerializer";
|
|
|
|
bool IDataSerializer.CanSerialize(object data, object extensionProvider)
|
|
{
|
|
return data is ReportingDataSource;
|
|
}
|
|
|
|
string IDataSerializer.Serialize(object data, object extensionProvider)
|
|
{
|
|
return "ReportingDataSource";
|
|
}
|
|
|
|
bool IDataSerializer.CanDeserialize(string value, string typeName, object extensionProvider)
|
|
{
|
|
return value == "ReportingDataSource";
|
|
}
|
|
|
|
object IDataSerializer.Deserialize(string value, string typeName, object extensionProvider)
|
|
{
|
|
return GetDataSource(value);
|
|
}
|
|
|
|
public static object GetDataSource(string value = "")
|
|
{
|
|
var dataSet = new ReportingDataSource();
|
|
switch (value)
|
|
{
|
|
case "ReportingDataSource":
|
|
using (var adapter = new SummaryReportTableAdapter())
|
|
{
|
|
adapter.Fill(dataSet.SummaryReport);
|
|
}
|
|
using (var adapter = new StatusTableAdapter())
|
|
{
|
|
adapter.Fill(dataSet.Status);
|
|
}
|
|
break;
|
|
}
|
|
return dataSet;
|
|
}
|
|
}
|
|
} |