📄 reportparametersaccessor.cs.svn-base
字号:
using System;
using System.Data.Common;
using System.IO;
using System.Xml.Serialization;
using DatabaseUtil;
using Mied.BusinessObject;
using Mied.DAL.TableSchema;
using SqlcePlugin;
namespace Mied.DAL.Accesses
{
public class ReportParametersAccessor : AccessorBase
{
public ReportParametersAccessor(MiedDatabase database)
: base(database, ReportParametersSchema.TableName)
{
}
public ReportParameters SelectParameters(int id)
{
return (ReportParameters)base.Select(id);
}
public void Save(ReportParameters entity)
{
base.Save(entity);
}
public void Initialize()
{
//Receivables
setReportParameter("Accounts Receivable", true, true, true, false);
setReportParameter("Aging Report", true, true, true, false);
setReportParameter("Cash Receipts (Detail)", true, true, true, false);
setReportParameter("Cash Receipts (Summary)", false, true, true, false);
setReportParameter("Customer Payments and Aging", true, true, true, false);
setReportParameter("Customer Payments and Receivables", true, true, true, false);
setReportParameter("Payment History", true, true, true, false);
// Sales Reports
setReportParameter("Sales by Customer", false, true, true, false);
setReportParameterNoFilter("Sales by P.O. Number");
setReportParameterNoFilter("Sales by Project");
setReportParameterNoFilter("Sales by Service Rep");
setReportParameterNoFilter("Sales by Terms");
setReportParameter("Sales Trend (After Tax)", true, false, false, false);
setReportParameter("Sales Trend (Before Tax)", true, false, false, false);
//Common Reoprts total 19
setReportParameterNoFilter("Current Inventory");
setReportParameterNoFilter("Customer List");
setReportParameter("Customer List Detail", false, true, true, false);
setReportParameterNoFilter("Inventory Value");
setReportParameterNoFilter("Inventory Worksheet");
setReportParameter("Invoice Journal", true, true, true, false);
setReportParameter("Outstanding Estimates", true, true, true, false);
setReportParameterNoFilter("Product List");
setReportParameter("Purchase Order Journal", true, true, false, false);
setReportParameter("Received Goods", true, false, false, false);
setReportParameter("Sales Tax Charged (Detail)", true, true, true, false);
setReportParameter("Sales Tax Charged (Summary)", true, true, true, true);
setReportParameter("Sales Tax Collected (Detail)", true, true, true, false);
setReportParameter("Sales Tax Collected (Summary)", true, true, true, true);
setReportParameterNoFilter("Simple Inventory List");
setReportParameterNoFilter("Successful Credit Card Transactions");
setReportParameterNoFilter("Vendor List");
setReportParameter("Vendor List Detail", false, true, false, false);
setReportParameterNoFilter("Welcome");
}
public static string ReceivablesReportsFolderName = "Receivables";
public static int ReceivablesReportsCount = 7;
public static string SalesReportsFolderName = "Sales Reports";
public static int SalesReportsCount = 7;
public static int CommonReportsCount = 19;
public static string DefaultReportName = "Welcome";
protected override CommandFieldValueList BuildPairList(Entity entity)
{
ReportParameters parameters = (ReportParameters)entity;
byte[] xml = ConvertParametersToXML(parameters);
CommandFieldValueList pairList = new CommandFieldValueList(parameters.ID);
pairList.AddZip(ReportParametersSchema.FieldXml, xml);
return pairList;
}
protected override Entity ReadEntity(RecordReader reader)
{
byte[] xml = reader.GetZipBytes(ReportParametersSchema.FieldXml);
ReportParameters parameters = ConvertXMLToParameters(xml);
parameters.ID = reader.GetInt32(ReportParametersSchema.FieldID);
return parameters;
}
protected override void CommandSaveSupplement(DbCommand command)
{
SqlCECommandHelper.SetParameterType_Image(command, "@" + ReportParametersSchema.FieldXml);
}
private void Delete()
{
CommandHelper.DeleteAll(this.Database.Connection, ReportParametersSchema.TableName);
}
private void setReportParameterNoFilter(string reportTitle)
{
setReportParameter(reportTitle, false, false, false, false);
}
private void setReportParameter(string reportTitle, bool dateFilterEnable, bool transactionFilterEnable, bool transactionForCustomer, bool stateFilterEnable)
{
ReportParameters parameters = new ReportParameters();
parameters.ReportTitle = reportTitle;
if (dateFilterEnable)
{
parameters.DateFilterEnable = true;
parameters.DateFilter = "All Dates";
}
if (transactionFilterEnable)
{
parameters.TransactionFilterEnable = true;
parameters.TransactionForCustomer = transactionForCustomer;
parameters.TransactionFilter = transactionForCustomer ? "All Customers" : "All Vendors";
}
if (stateFilterEnable)
{
parameters.StateFilterEnable = true;
parameters.StateFilter = "All States";
}
this.Save(parameters);
}
private static byte[] ConvertParametersToXML(ReportParameters data)
{
byte[] xmlByteArray = null;
try
{
XmlSerializer serializer = new XmlSerializer(typeof(ReportParameters));
MemoryStream memoryXmlStream = new MemoryStream();
TextWriter writer = new StreamWriter(memoryXmlStream);
serializer.Serialize(writer, data);
writer.Close();
// prepare the buffer
xmlByteArray = memoryXmlStream.ToArray();
memoryXmlStream.Close();
}
catch (Exception e)
{
throw e;
}
return xmlByteArray;
}
private static ReportParameters ConvertXMLToParameters(byte[] xml)
{
ReportParameters settings = new ReportParameters();
XmlSerializer serializer = new XmlSerializer(typeof(ReportParameters));
MemoryStream memoryStream = new MemoryStream(xml);
settings = (ReportParameters)serializer.Deserialize(memoryStream);
return settings;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -