using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using Telerik.Web.UI; using System.IO; using System.Threading; using System.Globalization; namespace VRS.Util { public partial class Logs : BaseListPage { DataService.BLL.admin_log bll = new DataService.BLL.admin_log(); DataService.BLL.admin_user bll_user = new DataService.BLL.admin_user(); protected override void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { start.SelectedDate = DateTime.Today.AddDays(-2); end.SelectedDate = DateTime.Today; /* if (BasePage.is_english()) { RadGrid_Log.Columns[1].HeaderText = "login_name"; RadGrid_Log.Columns[2].HeaderText = "content"; RadGrid_Log.Columns[3].HeaderText = "login_ip"; RadGrid_Log.Columns[4].HeaderText = "create_time"; RadGrid_Log.Culture = CultureInfo.GetCultureInfo("en-US"); RadGrid_Log.PagerStyle.PageSizeLabelText = "page size"; RadGrid_Log.PagerStyle.PagerTextFormat = "{4} page {0} / {1},items {2} to {3} ,total {5}"; } else { RadGrid_Log.PagerStyle.PrevPageToolTip = "前一页"; RadGrid_Log.PagerStyle.NextPageToolTip = "下一页"; RadGrid_Log.PagerStyle.LastPageToolTip = "尾页"; RadGrid_Log.PagerStyle.FirstPageToolTip = "第一页"; RadGrid_Log.PagerStyle.PageSizeLabelText = "每页记录"; RadGrid_Log.PagerStyle.PagerTextFormat = "{4} 第{0}页,共{1}页,记录 第{2}条到第{3}条 ,一共 {5} 条记录"; } */ MyDataBind(true); //DataLoad(); } } protected override void DataLoad() { if (!start.SelectedDate.HasValue) { RadAjaxManager1.Alert("请选择开始日期!"); return; } if (!end.SelectedDate.HasValue) { RadAjaxManager1.Alert("请选择结束日期!"); return; } var dtStart = start.SelectedDate.Value; var dtEnd = end.SelectedDate.Value; TimeSpan sp = dtEnd.Subtract(dtStart); if (sp.Days > 180) { RadAjaxManager1.Alert("查询日期间隔不超过半年!"); return; } var query = new StringBuilder(" 1 = 1 "); if (!string.IsNullOrWhiteSpace(content.Text.Trim())) { query.AppendFormat(" AND ( content LIKE '%{0}%' or login_name LIKE '%{0}%' )", content.Text.Trim()); } var start_date = start.SelectedDate.HasValue ? start.SelectedDate.Value.ToString("yyyy-MM-dd") : ""; var end_date = end.SelectedDate.HasValue ? end.SelectedDate.Value.ToString("yyyy-MM-dd") : ""; if (!string.IsNullOrEmpty(start_date)) { query.AppendFormat(" and create_time>='{0}' ", start_date); } if (!string.IsNullOrEmpty(end_date)) { DateTime dt; if (DateTime.TryParse(end_date, out dt)) { query.AppendFormat(" and create_time<'{0}' ", dt.AddDays(1).ToString("yyyy-MM-dd")); } } var data = bll.GetModelList(query.ToString()).OrderByDescending(s => s.create_time).ToList(); dataList.DataSource = data; dataList.Rebind(); } protected void MyDataBind(bool reloadRecordCount) { if (!start.SelectedDate.HasValue) { RadAjaxManager1.Alert("请选择开始日期!"); return; } if (!end.SelectedDate.HasValue) { RadAjaxManager1.Alert("请选择结束日期!"); return; } /* var dtStart = start.SelectedDate.Value; var dtEnd = end.SelectedDate.Value; TimeSpan sp = dtEnd.Subtract(dtStart); if (sp.Days > 180) { RadAjaxManager1.Alert("查询日期间隔不超过半年!"); return; } */ var user = DataService.BLL.admin_user.load_login(); var query = new StringBuilder(" 1 = 1 "); #region 只能看到自身的日志 var userModel = bll_user.GetModel(user.user_id); if (bll_user.IsSchoolAdministrator(userModel)) { query.AppendFormat(" and user_id in (select user_id from admin_user WHERE school_id='{0}' ) ", userModel.school_id); } #endregion if (!string.IsNullOrWhiteSpace(content.Text.Trim())) { query.AppendFormat(" AND ( content LIKE '%{0}%' or login_name LIKE '%{0}%' )", content.Text.Trim()); } var start_date = start.SelectedDate.HasValue ? start.SelectedDate.Value.ToString("yyyy-MM-dd") : ""; var end_date = end.SelectedDate.HasValue ? end.SelectedDate.Value.ToString("yyyy-MM-dd") : ""; if (!string.IsNullOrEmpty(start_date)) { query.AppendFormat(" and create_time>='{0}' ", start_date); } if (!string.IsNullOrEmpty(end_date)) { DateTime dt; if (DateTime.TryParse(end_date, out dt)) { query.AppendFormat(" and create_time<'{0}' ", dt.AddDays(1).ToString("yyyy-MM-dd")); } } if (reloadRecordCount) { RadGrid_Log.CurrentPageIndex = 0; } int count = 0; var index = RadGrid_Log.CurrentPageIndex + 1; var size = RadGrid_Log.PageSize; string where = query.ToString(); var list = bll.GetModelPageList(where, index, size, "create_time", true, reloadRecordCount, ref count); RadGrid_Log.DataSource = list; if (reloadRecordCount) { RadGrid_Log.VirtualItemCount = count; RadGrid_Log.Rebind(); } } protected override void GridList_PageIndexChanged(object sender, GridPageChangedEventArgs e) { DataLoad(); } protected override void GridList_PageSizeChanged(object sender, GridPageSizeChangedEventArgs e) { DataLoad(); } protected override void GridList_SortCommand(object sender, GridSortCommandEventArgs e) { DataLoad(); } protected override void GrdList_DeleteCommand(object sender, GridCommandEventArgs e) { string Id = (e.Item as GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString(); bll.Delete(Id); DataLoad(); } protected override void AjaxManager_AjaxRequest(object sender, AjaxRequestEventArgs e) { } protected void btnSelect_Click(object sender, EventArgs e) { //DataLoad(); MyDataBind(true); } protected void btnClear_Click(object sender, EventArgs e) { var user = DataService.BLL.admin_user.load_login(); var userModel = bll_user.GetModel(user.user_id); var count = bll.clear_log(userModel.school_id); RadAjaxManager1.Alert("共清理" + count + "条日志!"); if (count > 0) { //DataLoad(); MyDataBind(true); } } protected void RadGrid_Log_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { #region old /* int count = 0; var index = RadGrid_Log.CurrentPageIndex + 1; var size = RadGrid_Log.PageSize; var list =bll.GetModelPageList("", index, size, "create_time",true,true,ref count); RadGrid_Log.VirtualItemCount = count; RadGrid_Log.DataSource = list; */ #endregion MyDataBind(false); } } }