protected void chkDone_CheckedChanged(object sender, EventArgs e) { MyDataModel context = new MyDataModel(); CheckBox checkbox = (CheckBox)sender; GridViewRow row = (GridViewRow)((checkbox).NamingContainer); int goalID = int.Parse(((Label)row.FindControl("HiddenGoalID")).Text.Trim()); if (checkbox.Checked) { T_GOALservice.GetGoalByID(context, goalID).Done = true; foreach (var task in T_TASKservice.GetTasksByGoalID(context, goalID)) { task.Done = true; } } else { T_GOALservice.GetGoalByID(context, goalID).Done = false; foreach (var task in T_TASKservice.GetTasksByGoalID(context, goalID)) { task.Done = false; } } context.SaveChanges(); BindData(); }
protected void btnDelete_Click(object sender, EventArgs e) { MyDataModel context = new MyDataModel(); foreach (GridViewRow row in GridView1.Rows) { CheckBox chkTask = (CheckBox)row.FindControl("chkGoal"); if (chkTask.Checked) { int goalID = int.Parse(((Label)row.FindControl("HiddenGoalID")).Text.Trim()); IQueryable <T_TASK> tasksForDelete = T_TASKservice.GetTasksByGoalID(context, goalID); if (tasksForDelete.Any()) { foreach (var task in tasksForDelete) { context.T_TASK.Remove(task); } } T_GOAL goalForDelete = T_GOALservice.GetGoalByID(context, goalID); context.T_GOAL.Remove(goalForDelete); context.SaveChanges(); } } BindData(); }
protected void btnExport_Click(object sender, EventArgs e) { string fileName = "goal_" + DateTime.Now.ToString("yyyyMMdd") + ".csv"; Response.Clear(); Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName + ";"); Response.ContentType = "text/csv"; Response.Charset = "utf-8"; StreamWriter sw = new StreamWriter(Response.OutputStream); MyDataModel context = new MyDataModel(); int pageIndex = GridView1.PageIndex; for (int i = 1; i < GridView1.Columns.Count - 1; i++) { sw.Write(GridView1.Columns[i] + ","); } sw.Write(sw.NewLine); for (int n = 0; n < GridView1.PageCount; n++) { GridView1.PageIndex = n; BindData(); foreach (GridViewRow dr in GridView1.Rows) { for (int i = 1; i < GridView1.Columns.Count - 1; i++) { string cellValue = dr.Cells[i].Text; cellValue = cellValue.Replace("\r\n", "\\r\\n "); if (i == 1) { Control ctrl = dr.Cells[1].FindControl("chkDone"); sw.Write(((CheckBox)ctrl).Text + ','); } else if (i == 2) { Control ctrl = dr.FindControl("HiddenTaskID"); int taskID = int.Parse(((Label)ctrl).Text); string taskName = T_TASKservice.GetTaskByID(context, taskID).TaskName; sw.Write(taskName + ','); } else { sw.Write(cellValue + ','); } } sw.Write(sw.NewLine); } } sw.Close(); Response.End(); GridView1.PageIndex = pageIndex; }
protected void btnSave_Click(object sender, EventArgs e) { MyDataModel context = new MyDataModel(); int goalID; if (!int.TryParse(Request.QueryString["GoalID"], out goalID)) { lblGoalName.Text = Messages.goalName + Messages.errorMissingGoalID; lblGoalName.ForeColor = Color.Red; return; } string taskName = tbxTaskName.Text; if (string.IsNullOrEmpty(taskName)) { taskName = "noname"; } string description = tbxDescription.Text; bool isDone = bool.Parse(dlstDone.SelectedItem.Value); T_GOAL goal = T_GOALservice.GetGoalByID(context, goalID); if (goal == null) { lblGoalName.Text = Messages.goalName + Messages.errorIncorrectGoalID; lblGoalName.ForeColor = Color.Red; return; } int taskID; //create(if TaskID absent) or update task if (int.TryParse(Request.QueryString["TaskID"], out taskID)) { if (!T_TASKservice.IsTaskExists(context, taskID)) { return; } T_TASK task = T_TASKservice.GetTaskByID(context, taskID); task.GoalID = goalID; task.TaskName = taskName; task.Description = description; task.Done = isDone; task.UpdateDate = DateTime.Now; } else { T_TASK newTask = new T_TASK { GoalID = goalID, TaskName = taskName, Description = description, Done = isDone, UpdateDate = DateTime.Now, T_GOAL = goal }; context.T_TASK.Add(newTask); } context.SaveChanges(); Response.Redirect("~/_GoalPage.aspx?GoalID=" + goalID); }
protected void btnDelete_Click(object sender, EventArgs e) { MyDataModel context = new MyDataModel(); foreach (GridViewRow row in GridView1.Rows) { //Searching CheckBox("chkDel") in an individual row of Grid CheckBox chkTask = (CheckBox)row.FindControl("chkTask"); //If CheckBox is checked than delete the record with particular empid if (chkTask.Checked) { int taskID = int.Parse(((Label)row.FindControl("HiddenTaskID")).Text.Trim()); T_TASKservice.RemoveTaskByID(context, taskID); } } BindData(); }
protected void btnBack_Click(object sender, EventArgs e) { MyDataModel context = new MyDataModel(); int goalID = int.Parse(lblHiddenGoalID.Text.Trim()); IQueryable <T_TASK> tasks = T_TASKservice.GetTasksByGoalID(context, goalID); T_TASK isFalseDone = T_TASKservice.GetIncompliteTasks(tasks, false).FirstOrDefault(); //created goal have null tasks and t.Done always null T_GOAL currentGoal = T_GOALservice.GetGoalByID(context, goalID); if (currentGoal != null) { if (isFalseDone != null || tasks.Count() == 0) { currentGoal.Done = false; } else { currentGoal.Done = true; } context.SaveChanges(); } Response.Redirect("~/_GoalsPage.aspx"); }
protected void Page_Load(object sender, EventArgs e) { MyDataModel context = new MyDataModel(); int tasknameMaxLength = 50; int descriptionMaxLength = 50; Label1.Text = tbxDescription.Text.Length.ToString(); tbxDescription.Attributes.Add("MaxLength", tbxDescription.MaxLength.ToString()); string actualUserName = Page.User.Identity.Name; int goalID; if (!int.TryParse(Request.QueryString["GoalID"], out goalID)) { tbxTaskName.MaxLength = tasknameMaxLength; tbxTaskName.ToolTip = string.Format("Max {0} characters", tasknameMaxLength); tbxDescription.ToolTip = string.Format("Max {0} characters", descriptionMaxLength); lblGoalName.Text = Messages.goalName + Messages.errorMissingGoalID; lblGoalName.ForeColor = Color.Red; return; } else { T_GOAL goalAbsentOrDeleted = T_GOALservice.GetGoalByID(context, goalID); if (goalAbsentOrDeleted == null) { BadGoalID(Messages.goalName + " is absent!"); return; } else if (goalAbsentOrDeleted.T_ACCOUNT.Email != actualUserName) { BadGoalID(Messages.goalName + " is incorrect!"); return; } else { lblGoalName.ForeColor = Color.Empty; btnSave.Enabled = true; lblGoalName.Text = Messages.goalName + goalAbsentOrDeleted.GoalName; } } if (!IsPostBack) { int taskID; if (int.TryParse(Request.QueryString["TaskID"], out taskID)) { if (!T_TASKservice.IsTaskExists(context, taskID)) { return; } T_TASK task = T_TASKservice.GetTaskByID(context, taskID); tbxTaskName.Text = task.TaskName; tbxDescription.Text = task.Description; Label1.Text = task.Description.Count().ToString(); dlstDone.SelectedValue = task.Done.ToString().ToLower(); } else { Label1.Text = tbxDescription.Text.Length.ToString(); } } }
private IQueryable <T_TASK> GetData(string sortExpression = "", SortDirection sortDirection = SortDirection.Ascending) { MyDataModel context = new MyDataModel(); GridView1.PageSize = int.Parse(dlstPageSize.SelectedValue); IQueryable <T_TASK> tasks = null; int goalID = 0; int.TryParse(Request.QueryString["GoalID"], out goalID); tasks = context.T_TASK.Where(n => n.GoalID == goalID); string filterName = tbxFilterName.Text; string filterDone = dlstFilterDone.SelectedValue; //filters if (string.IsNullOrEmpty(filterDone)) { tasks = T_TASKservice.GetTasksByFilters(tasks, filterName); } else { bool isDone = bool.Parse(filterDone); tasks = T_TASKservice.GetTasksByFilters(tasks, filterName, isDone); } int tasksCount = tasks.Count(); //sorting if (ViewState["sortexpression"] != null) { SortDirection currentDirection = (SortDirection)Enum.Parse(typeof(SortDirection), ViewState["sortdirection"].ToString()); switch (ViewState["sortexpression"].ToString().ToUpper()) { case "TASKID": tasks = (currentDirection == SortDirection.Ascending) ? tasks.OrderBy(n => n.TaskID) : tasks.OrderByDescending(n => n.TaskID); break; case "DONE": tasks = (currentDirection == SortDirection.Ascending) ? tasks.OrderBy(n => n.Done) : tasks.OrderByDescending(n => n.Done); break; case "TASKNAME": tasks = (currentDirection == SortDirection.Ascending) ? tasks.OrderBy(n => n.TaskName) : tasks.OrderByDescending(n => n.TaskName); break; case "DESCRIPTION": tasks = (currentDirection == SortDirection.Ascending) ? tasks.OrderBy(n => n.Description) : tasks.OrderByDescending(n => n.Description); break; case "UPDATEDATE": tasks = (currentDirection == SortDirection.Ascending) ? tasks.OrderBy(n => n.UpdateDate) : tasks.OrderByDescending(n => n.UpdateDate); break; default: tasks = tasks.OrderBy(item => item.TaskID); break; } } else { tasks = tasks.OrderBy(n => n.TaskID); } //page index int recCount = tasks.Count(); if ((GridView1.PageIndex * GridView1.PageSize) > recCount) { GridView1.PageIndex = recCount / GridView1.PageSize; } return(tasks); }