读者统计方案中的公共属性和函数 - DigitalPlatform/dp2 GitHub Wiki

类结构:

public class ChangeUserName : ReaderStatis  //继承ReaderStatis类
{
    public override void OnBegin(object sender, StatisEventArgs e)
    {
        //开始:适合在这里准备好一些全局成员的值,进行适当的初始化操作
    }

    public override void OnRecord(object sender, StatisEventArgs e)
    {
        //在这里对每一条数据进行处理,累计统计值
    }

    public override void OnEnd(object sender, StatisEventArgs e)
    {
        //结束:在这里进行结束的处理,输出统计结果
    }
}

如何使用StatisEventArgs e参数跳出统计方案执行的说明

e.Continue = ContinueType.SkipAll;
return;

【扩展】

    public enum ContinueType
    {
        Yes = 0,
        SkipAll = 1,
        Error = 2
    }

常用函数:

1. 清除WebBrowser控件内残留的内容,并准备在其中输出纯文本内容

this.ClearConsoleForPureTextOutputing();

2. 从Xml节点获取所需读者信息

DomUtil.GetElementText(XmlNode nodeRoot, string strXpath);

3. 修改读者信息

DomUtil.SetElementText(XmlNode nodeRoot, string strXpath, string strText);

4. 保存读者信息到库

this.ReaderStatisForm.SaveReaderRecord(string strRecPath,
   string strAction,
   string strOldXml,
   byte[] baOldTimestamp,
   string strNewXml,
   out byte[] baNewTimestamp,
   out string strSavedPath,
   out string strSavedXml,
   out string strError);

//parameters:
strRecPath  读者记录路径
strAction   动作参数
strOldXml   修改前的读者XML记录
baOldTimestamp  旧记录的时间戳
strNewXml  要写入的读者XML记录
baNewTimestamp  返回保存后的读者记录的新时间戳
strSavedPath  返回实际保存的记录路径
strSavedXml   返回实际被保存的读者XML记录
strError    返回出错信息

5. 向WebBrowser控件中输出纯文本内容

this.WriteTextToConsole(string strText);

【注】输出到统计窗的控制台的信息,默认没有换行。如需换行,在输出内容后面加"\r\n",例:

this.WriteTextToConsole(string strText + "\r\n");

6. 向提示框输出纯文本内容

MessageBox.Show(string strText);