/// <summary> /// Adds the milestone. /// </summary> /// <param name="s">The s.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void AddMilestone(Object s, EventArgs e) { var newName = txtName.Text.Trim(); if (newName == String.Empty) { return; } var newMilestone = new Milestone { ProjectId = ProjectId, Name = newName, ImageUrl = lstImages.SelectedValue, DueDate = DueDate.SelectedValue, ReleaseDate = ReleaseDate.SelectedValue, IsCompleted = chkCompletedMilestone.Checked, Notes = txtMilestoneNotes.Text }; if (MilestoneManager.SaveOrUpdate(newMilestone)) { txtMilestoneNotes.Text = string.Empty; txtName.Text = string.Empty; DueDate.SelectedValue = null; chkCompletedMilestone.Checked = false; ReleaseDate.SelectedValue = null; BindMilestones(); lstImages.SelectedValue = String.Empty; } else { ActionMessage.ShowErrorMessage(LoggingManager.GetErrorMessageResource("SaveMilestoneError")); } }
/// <summary> /// Handles the ItemCommand event of the grdMilestones control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param> protected void grdMilestones_ItemCommand(object sender, DataGridCommandEventArgs e) { Milestone m; var itemIndex = e.Item.ItemIndex; switch (e.CommandName) { case "up": //move row up if (itemIndex == 0) { return; } m = MilestoneManager.GetById(Convert.ToInt32(e.CommandArgument)); m.SortOrder -= 1; MilestoneManager.SaveOrUpdate(m); break; case "down": //move row down if (itemIndex == grdMilestones.Items.Count - 1) { return; } m = MilestoneManager.GetById(Convert.ToInt32(e.CommandArgument)); m.SortOrder += 1; MilestoneManager.SaveOrUpdate(m); break; } BindMilestones(); }
/// <summary> /// Handles the Update event of the grdMilestones control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param> protected void grdMilestones_Update(object sender, DataGridCommandEventArgs e) { var txtMilestoneName = (TextBox)e.Item.FindControl("txtMilestoneName"); if (txtMilestoneName.Text.Trim() == "") { throw new ArgumentNullException("Milestone Name is empty"); } var pickimg = (PickImage)e.Item.FindControl("lstEditImages"); var milestoneDueDate = (PickDate)e.Item.FindControl("MilestoneDueDate"); var milestoneReleaseDate = (PickDate)e.Item.FindControl("MilestoneReleaseDate"); var isCompletedMilestone = (CheckBox)e.Item.FindControl("chkEditCompletedMilestone"); var milestoneNotes = (TextBox)e.Item.FindControl("txtMilestoneNotes"); var m = MilestoneManager.GetById(Convert.ToInt32(grdMilestones.DataKeys[e.Item.ItemIndex])); m.Name = txtMilestoneName.Text.Trim(); m.ImageUrl = pickimg.SelectedValue; m.DueDate = milestoneDueDate.SelectedValue; m.ReleaseDate = milestoneReleaseDate.SelectedValue; m.IsCompleted = isCompletedMilestone.Checked; m.Notes = milestoneNotes.Text; MilestoneManager.SaveOrUpdate(m); grdMilestones.EditItemIndex = -1; BindMilestones(); }