protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string itemIdValue = Request.QueryString["id"]; ItemIdField.Value = itemIdValue; if (!String.IsNullOrEmpty(itemIdValue)) { int editingItemId = Int32.Parse(itemIdValue); using (var ctx = new ToDoDBModel.ToDoDBEntities()) { var item = ctx.TodoItems.Where(x => x.Id == editingItemId).First(); if (item != null) { int len = item.Description.Length; TextBox_Decription.Text = item.Description; CheckBox_WasDone.Checked = (item.WasDone != 0); if (item.DueDate.HasValue) { Calendar_DueDate.SelectedDate = (DateTime)item.DueDate; } } } } } }
private void BindData() { GridViewToDo.Columns.Clear(); string sortExpression = (ViewState["sort_expression"] != null) ? ViewState["sort_expression"].ToString() : null; using (ToDoDBModel.ToDoDBEntities ctx = new ToDoDBModel.ToDoDBEntities()) { if (!String.IsNullOrEmpty(sortExpression)) { if (GetSortDirection(sortExpression) == SortDirection.Ascending) { var dataSource = ctx.TodoItems.AsEnumerable().OrderBy(x => this.GetSortingValue(x, sortExpression)).Select( item => new { Id = item.Id, Description = item.Description, WasDone = (item.WasDone == 1) ? "True" : "False", AddedAt = item.AddedAt, AddedBy = this.GetUserName(item.AddedBy) }); GridViewToDo.DataSource = dataSource.ToList(); } else { var dataSource = ctx.TodoItems.AsEnumerable().OrderByDescending(x => this.GetSortingValue(x, sortExpression)).Select( item => new { Id = item.Id, Description = item.Description, WasDone = (item.WasDone == 1) ? "True" : "False", AddedAt = item.AddedAt, AddedBy = this.GetUserName(item.AddedBy) }); GridViewToDo.DataSource = dataSource.ToList(); } } else { var dataSource = ctx.TodoItems.AsEnumerable().Select( item => new { Id = item.Id, Description = item.Description, WasDone = (item.WasDone == 1) ? "True" : "False", AddedAt = item.AddedAt, AddedBy = this.GetUserName(item.AddedBy) }); GridViewToDo.DataSource = dataSource.ToList(); } } BoundField idField = new BoundField(); idField.DataField = "Id"; idField.Visible = false; GridViewToDo.Columns.Add(idField); BoundField descriptionField = new BoundField(); descriptionField.DataField = "Description"; descriptionField.HeaderText = "Description"; descriptionField.SortExpression = "Description"; GridViewToDo.Columns.Add(descriptionField); BoundField wasDoneField = new BoundField(); wasDoneField.DataField = "WasDone"; wasDoneField.HeaderText = "Was Done"; wasDoneField.SortExpression = "WasDone"; GridViewToDo.Columns.Add(wasDoneField); BoundField addedAtField = new BoundField(); addedAtField.DataField = "AddedAt"; addedAtField.HeaderText = "Added At"; addedAtField.SortExpression = "AddedAt"; GridViewToDo.Columns.Add(addedAtField); BoundField addedByField = new BoundField(); addedByField.DataField = "AddedBy"; addedByField.HeaderText = "Added By"; addedByField.SortExpression = "AddedBy"; GridViewToDo.Columns.Add(addedByField); GridViewToDo.DataBind(); }
protected void Button_Save_Click(object sender, EventArgs e) { DateTime?wasDoneDateTime = null; byte wasDone = 0; if (CheckBox_WasDone.Checked) { wasDoneDateTime = DateTime.Now; wasDone = 1; } using (var ctx = new ToDoDBModel.ToDoDBEntities()) { string itemIdValue = ItemIdField.Value; ToDoDBModel.TodoItem item = null; if (!String.IsNullOrEmpty(itemIdValue)) { int editingItemId = Int32.Parse(itemIdValue); item = ctx.TodoItems.Where(x => x.Id == editingItemId).First(); if (item != null) { item.Description = TextBox_Decription.Text; if (item.WasDone != wasDone) { if (wasDone == 1) { item.WasDoneAt = wasDoneDateTime; } else { item.WasDoneAt = null; } } item.WasDone = wasDone; item.DueDate = GetDueDate(); } } if (item == null) { item = new ToDoDBModel.TodoItem { Description = TextBox_Decription.Text, AddedAt = DateTime.Now, AddedBy = User.Identity.GetUserId(), WasDone = wasDone, WasDoneAt = wasDoneDateTime, DueDate = GetDueDate() }; ctx.TodoItems.Add(item); } ctx.SaveChanges(); } Response.Redirect("Default.aspx"); }