public override List<Referrer> FillReferrers()
{
this.DeleteOldReferrers();
var referrers = new List<Referrer>();
using (var conn = this.CreateConnection())
{
if (conn.HasConnection)
{
using (var cmd = conn.CreateTextCommand(string.Format("SELECT ReferrerId, ReferralDay, ReferrerUrl, ReferralCount, Url, IsSpam FROM {0}Referrers WHERE BlogId = {1}blogid ", this.tablePrefix, this.parmPrefix)))
{
cmd.Parameters.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
using (var rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
var refer = new Referrer
{
Id = rdr.GetGuid(0),
Day = rdr.GetDateTime(1),
ReferrerUrl = new Uri(rdr.GetString(2)),
Count = rdr.GetInt32(3),
Url = rdr.IsDBNull(4) ? null : new Uri(rdr.GetString(4)),
PossibleSpam = rdr.IsDBNull(5) ? false : rdr.GetBoolean(5)
};
referrers.Add(refer);
refer.MarkOld();
}
}
}
}
}
return referrers;
}