U4-1604 Fix latest edits dashboard control so that it doesn't make a zillion queries - Limit the latestedits query to specified amount of rows
This commit is contained in:
@@ -1,16 +1,10 @@
|
||||
using umbraco.BusinessLogic;
|
||||
using System;
|
||||
using umbraco.IO;
|
||||
using umbraco.cms.businesslogic.web;
|
||||
|
||||
namespace dashboardUtilities
|
||||
{
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Web;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using umbraco.IO;
|
||||
using umbraco.cms.businesslogic.web;
|
||||
|
||||
/// <summary>
|
||||
/// Summary description for LatestEdits.
|
||||
/// </summary>
|
||||
@@ -22,11 +16,12 @@ namespace dashboardUtilities
|
||||
private int count = 0;
|
||||
public int MaxRecords { get; set; }
|
||||
|
||||
protected void Page_Load(object sender, System.EventArgs e)
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (MaxRecords == 0)
|
||||
MaxRecords = 30;
|
||||
|
||||
// Put user code to initialize the page here
|
||||
Repeater1.DataSource = umbraco.BusinessLogic.Log.GetLogReader(User.GetCurrent(), umbraco.BusinessLogic.LogTypes.Save, DateTime.Now.Subtract(new System.TimeSpan(7,0,0,0,0)));
|
||||
Repeater1.DataSource = Log.GetLogReader(User.GetCurrent(), LogTypes.Save, DateTime.Now.Subtract(new TimeSpan(7,0,0,0,0)), MaxRecords);
|
||||
Repeater1.DataBind();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
@@ -320,16 +321,34 @@ namespace umbraco.BusinessLogic
|
||||
/// </summary>
|
||||
/// <param name="user">The user.</param>
|
||||
/// <param name="Type">The type of log message.</param>
|
||||
/// <param name="SinceDate">The since date.</param>
|
||||
/// <param name="sinceDate">The since date.</param>
|
||||
/// <returns>A reader for the log.</returns>
|
||||
[Obsolete("Use the Instance.GetLogItems method which return a list of LogItems instead")]
|
||||
public static IRecordsReader GetLogReader(User user, LogTypes Type, DateTime SinceDate)
|
||||
public static IRecordsReader GetLogReader(User user, LogTypes Type, DateTime sinceDate)
|
||||
{
|
||||
return SqlHelper.ExecuteReader(
|
||||
"select userId, NodeId, DateStamp, logHeader, logComment from umbracoLog where UserId = @user and logHeader = @logHeader and DateStamp >= @dateStamp order by dateStamp desc",
|
||||
SqlHelper.CreateParameter("@logHeader", Type.ToString()),
|
||||
SqlHelper.CreateParameter("@user", user.Id),
|
||||
SqlHelper.CreateParameter("@dateStamp", SinceDate));
|
||||
SqlHelper.CreateParameter("@dateStamp", sinceDate));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a reader of specific for the log for specific types and a specified user.
|
||||
/// </summary>
|
||||
/// <param name="user">The user.</param>
|
||||
/// <param name="type">The type of log message.</param>
|
||||
/// <param name="sinceDate">The since date.</param>
|
||||
/// <param name="numberOfResults">Number of rows returned</param>
|
||||
/// <returns>A reader for the log.</returns>
|
||||
[Obsolete("Use the Instance.GetLogItems method which return a list of LogItems instead")]
|
||||
internal static IRecordsReader GetLogReader(User user, LogTypes type, DateTime sinceDate, int numberOfResults)
|
||||
{
|
||||
return SqlHelper.ExecuteReader(
|
||||
"select top " + numberOfResults + " userId, NodeId, DateStamp, logHeader, logComment from umbracoLog where UserId = @user and logHeader = @logHeader and DateStamp >= @dateStamp order by dateStamp desc",
|
||||
SqlHelper.CreateParameter("@logHeader", type.ToString()),
|
||||
SqlHelper.CreateParameter("@user", user.Id),
|
||||
SqlHelper.CreateParameter("@dateStamp", sinceDate));
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
Reference in New Issue
Block a user