using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace Lab9Pt2
{
public partial class WebForm1 : System.Web.UI.Page
{
ws1.WebService1 ws = new ws1.WebService1();
DataSet ds1;
DateTime loadtime;
void load_dataset(bool update)
{
if (update)
{
ds1 = ws.GetTasks();
Session["dataset"] = ds1;
loadtime = ws.GetServerTime();
//Session["loadtime"] = loadtime;
HiddenField1.Value = loadtime.ToString();
}
else
{
ds1 = (DataSet)Session["dataset"];
//loadtime = (DateTime)Session["loadtime"];
loadtime = Convert.ToDateTime(HiddenField1.Value);
}
bind();
Label4.Text = "Last refreshed at: " + loadtime.ToString();
}
protected void bind()
{
GridView1.DataSource = ds1;
GridView1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
response.Text = "";
Label4.Text = "";
load_dataset(!IsPostBack);
}
protected DataSet make_set(String name, String due, String owner)
{
DataSet task = new DataSet("new");
DataTable tasktable = task.Tables.Add("task");
DataColumn pkCol = tasktable.Columns.Add("name", typeof(String));
DataColumn pkCol1 = tasktable.Columns.Add("due", typeof(DateTime));
DataColumn pkCol2 = tasktable.Columns.Add("owner", typeof(String));
DataColumn pkCol3 = tasktable.Columns.Add("modified", typeof(DateTime));
DataRow dr = tasktable.NewRow();
dr["name"] = name;
try
{
dr["due"] = due;
}
catch (Exception ex)
{
response.Text = "invalid time format";
return null;
}
dr["owner"] = owner;
tasktable.Rows.Add(dr);
return task;
}
protected DataSet make_set(String name, String due, String owner, DateTime modified)
{
DataSet task = make_set(name, due, owner);
try
{
task.Tables["task"].Rows[0]["modified"] = modified;
}
catch (Exception ex)
{
//task.Tables["task"].Rows[0]["modified"] = DateTime.Now;
}
return task;
}
protected void Button1_Click(object sender, EventArgs e)
{
String name = tb_name.Text;
String due = tb_due.Text;
String owner = tb_owner.Text;
String err = null;
DataSet task = make_set(name, due, owner);
if (task != null)
{
bool success = ws.AddTask(task, ref err);
response.Text = (success) ? "done!" : err;
}
load_dataset(true);
}
// modify button
protected void Button2_Click(object sender, EventArgs e)
{
String name = tb_name.Text;
String due = tb_due.Text;
String owner = tb_owner.Text;
String err = null;
DataSet task;
task = make_set(name, due, owner, loadtime);
if (task != null)
{
bool success = ws.ModifyTask(task, ref err);
response.Text = "Reponse from server: " + ((err == null) ? "Done!" : ("<font color=\"red\">" + err + "</font>"));
}
}
//refresh button
protected void Button3_Click(object sender, EventArgs e)
{
load_dataset(true);
}
// remove button
protected void Button4_Click(object sender, EventArgs e)
{
String name = tb_name.Text;
String Error = "";
bool ret;
ret = ws.remove(name, ref Error);
if (!ret)
response.Text = "error: " + Error;
load_dataset(true);
}
}
}