Esempio n. 1
0
    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;
                        }
                    }
                }
            }
        }
    }
Esempio n. 2
0
    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();
    }
Esempio n. 3
0
    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");
    }