// Spludlow Software // Copyright © Samuel P. Ludlow 2020 All Rights Reserved // Distributed under the terms of the GNU General Public License version 3 // Distributed WITHOUT ANY WARRANTY; without implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE // https://www.spludlow.co.uk/LICENCE.TXT // The Spludlow logo is a registered trademark of Samuel P. Ludlow and may not be used without permission // v1.14 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 System.Data; using System.Drawing; public partial class Log : System.Web.UI.Page { private DataSet _DataSet; protected void Page_Load(object sender, EventArgs e) { long logId = Int64.Parse(this.Request.QueryString["LogId"]); this._DataSet = Spludlow.Log.Query(logId); string subject = (string)this._DataSet.Tables["Logs"].Rows[0]["Subject"]; Spludlow.WebMenu.SetLiteralText(this.Master, "MenuHead", subject); DataTable logTable = Spludlow.Data.ADO.Swivel(this._DataSet.Tables["Logs"]); this.GridViewLog.BackColor = Color.Red; this.GridViewLog.DataSource = logTable; this.GridViewLog.DataBind(); this.DataListLogBodies.DataSource = this._DataSet.Tables["LogBodies"]; this.DataListLogBodies.DataBind(); } protected void GridViewLog_RowDataBound(object sender, GridViewRowEventArgs e) { Spludlow.Log.ColourGridRow(e, this._DataSet.Tables["Logs"].Rows[0]); } protected void DataListLogBodies_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) return; DataRow row = ((DataRowView)e.Item.DataItem).Row; GridView grid = (GridView)e.Item.FindControl("GridViewBody"); long logBodyId = (long)row["LogBodyId"]; DataView view = new DataView(row.Table); view.RowFilter = "LogBodyId = " + logBodyId; DataTable table = Spludlow.Data.ADO.Swivel(view, new string[] { "LogBodyId", "LogBodyType", "LogBodyFormat", "Length" }); grid.DataSource = table; grid.DataBind(); DisplayData displayData = (DisplayData)e.Item.FindControl("DisplayDataBody"); StringBuilder url = new StringBuilder(); url.Append("Generic.aspx?"); url.Append("A=Spludlow&T=Spludlow.Log&M=StreamBodyTextTable&MIME=text&FILENAME="); url.Append(Spludlow.Text.TimeStamp()); url.Append(".txt"); url.Append("&P0="); url.Append(logBodyId); url.Append("&P1=@"); displayData.Display(new string[] { (string)row["LogBodyFormat"], (string)row["Body"] }, url.ToString()); } }