Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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();
        }
Beispiel #6
0
        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");
        }
Beispiel #7
0
        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();
                }
            }
        }
Beispiel #8
0
        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);
        }