-
Notifications
You must be signed in to change notification settings - Fork 0
/
EditTaskForm.cs
127 lines (101 loc) · 3.81 KB
/
EditTaskForm.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Routine.Properties;
namespace Routine
{
public partial class EditTaskForm : Form
{
public Task Task { get; set; }
ManageTasksForm ManageTasks;
Routine Routine;
public EditTaskForm(ManageTasksForm manageTasks, Task task, Routine routine)
{
Task = task;
ManageTasks = manageTasks;
Routine = routine;
AlreadySaved = false;
InitializeComponent();
taskNameTextbox.Text = task.Title;
taskTimePicker.Value = DateTime.Now.Date.Add(task.TimeOfDay);
repeatCheckbox.Checked = task.Repeat;
sundayRepeat.Checked = task.RepeatSunday;
mondayRepeat.Checked = task.RepeatMonday;
tuesdayRepeat.Checked = task.RepeatTuesday;
wednesdayRepeat.Checked = task.RepeatWednesday;
thursdayRepeat.Checked = task.RepeatThursday;
fridayRepeat.Checked = task.RepeatFriday;
saturdayRepeat.Checked = task.RepeatSaturday;
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
}
private void RepeatCheckboxCheckedChanged(object sender, EventArgs e)
{
var repeatEnabled = repeatCheckbox.Checked;
mondayRepeat.Enabled = repeatEnabled;
tuesdayRepeat.Enabled = repeatEnabled;
wednesdayRepeat.Enabled = repeatEnabled;
thursdayRepeat.Enabled = repeatEnabled;
fridayRepeat.Enabled = repeatEnabled;
saturdayRepeat.Enabled = repeatEnabled;
sundayRepeat.Enabled = repeatEnabled;
}
private void EditTaskFormFormClosing(object sender, FormClosingEventArgs e)
{
if (AlreadySaved)
{
return;
}
var answer = MessageBox.Show(Resources.AddTaskForm_AddTaskFormFormClosing_SavePrompt,
Resources.AddTaskForm_AddTaskFormFormClosing_SavePromptCaption, MessageBoxButtons.YesNoCancel);
if (answer == DialogResult.Yes)
{
SaveTask();
ManageTasks.UpdateAndShow();
}
else if (answer == DialogResult.No)
{
ManageTasks.UpdateAndShow();
}
else
{
e.Cancel = true;
}
}
private void SaveAndCloseButtonClick(object sender, EventArgs e)
{
SaveTask();
ManageTasks.UpdateAndShow();
AlreadySaved = true;
this.Close();
}
public bool AlreadySaved { get; set; }
private void SaveTask()
{
var taskGuid = Task.Guid;
var taskTitle = taskNameTextbox.Text.Trim() == "" ? "<untitled task>" : taskNameTextbox.Text;
var taskTimeOfDay = taskTimePicker.Value.TimeOfDay;
var task = new Task(taskTitle, DateTime.Now, taskTimeOfDay, repeatCheckbox.Checked, sundayRepeat.Checked,
mondayRepeat.Checked, tuesdayRepeat.Checked, wednesdayRepeat.Checked,
thursdayRepeat.Checked, fridayRepeat.Checked, saturdayRepeat.Checked);
task.Guid = taskGuid;
Routine.UpdateTask(taskGuid, task);
}
public void UpdateAndShow()
{
Show();
}
}
}