⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reportparametersaccessor.cs.svn-base

📁 MIED是用于个人帐务管理的小型软件
💻 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 + -