/// <summary> /// Loads task data into controls on the form from the data row. /// </summary> private void SetTaskData(EditTaskFormData.TaskRow taskData) { this.taskNameEdit.Text = taskData.Name; this.startDate.Text = taskData.StartDate; this.startTime.Text = taskData.StartTime; WebUtil.SelectItem(this.endRadio, taskData.EndChoice.ToString()); this.endMaxOccurrencesEdit.Text = taskData.Count; this.endDate.Text = taskData.EndDate; WebUtil.SelectItem(this.recurrenceRadio, taskData.RecurrenceChoice.ToString()); WebUtil.SelectItem(this.dailyRadio, taskData.DailyChoice.ToString()); this.dailyEveryNthDayEdit.Text = taskData.DailyEveryNthDay; this.weeklyEveryNthWeekEdit.Text = taskData.WeeklyEveryNthWeek; this.weekDaysBtns.Items[0].Selected = taskData.Sunday; this.weekDaysBtns.Items[1].Selected = taskData.Monday; this.weekDaysBtns.Items[2].Selected = taskData.Tuesday; this.weekDaysBtns.Items[3].Selected = taskData.Wednesday; this.weekDaysBtns.Items[4].Selected = taskData.Thursday; this.weekDaysBtns.Items[5].Selected = taskData.Friday; this.weekDaysBtns.Items[6].Selected = taskData.Saturday; WebUtil.SelectItem(this.monthlyRadio, taskData.MonthlyChoice.ToString()); this.monthlyEveryNthMonthEdit.Text = taskData.MonthlyEveryNthMonth; WebUtil.SelectItem(this.monthlyDayCombo, taskData.MonthlyDay.ToString()); WebUtil.SelectItem(this.monthlyNthOccurrenceCombo, taskData.MonthlyNthOccurrence.ToString()); WebUtil.SelectItem(this.monthlyDayOfWeekCombo, taskData.MonthlyDayOfWeek.ToString()); WebUtil.SelectItem(this.monthlyDayOccurrenceCombo, taskData.MonthlyDayOccurrence.ToString()); WebUtil.SelectItem(this.monthlyWeekDayTypeCombo, taskData.MonthlyWeekDayType.ToString()); WebUtil.SelectItem(this.yearlyRadio, taskData.YearlyChoice.ToString()); this.yearlyEveryNthYearEdit.Text = taskData.YearlyEveryNthYear; WebUtil.SelectItem(this.yearlyDayMonthCombo, taskData.YearlyDayMonth.ToString()); WebUtil.SelectItem(this.yearlyDayCombo, taskData.YearlyDay.ToString()); WebUtil.SelectItem(this.yearlyNthOccurrenceCombo, taskData.YearlyNthOccurrence.ToString()); WebUtil.SelectItem(this.yearlyDayOfWeekCombo, taskData.YearlyDayOfWeek.ToString()); WebUtil.SelectItem(this.yearlyDayOfWeekMonthCombo, taskData.YearlyDayOfWeekMonth.ToString()); WebUtil.SelectItem(this.yearlyDayOccurrenceCombo, taskData.YearlyDayOccurrence.ToString()); WebUtil.SelectItem(this.yearlyWeekDayTypeCombo, taskData.YearlyWeekDayType.ToString()); WebUtil.SelectItem(this.yearlyWeekDayMonthCombo, taskData.YearlyWeekDayMonth.ToString()); UpdateiCalendar(); UpdateControls(); }
/// <summary> /// Saves data from the data set into a Task object. /// </summary> public void Save(EditTaskFormData.TaskRow taskData, Task task) { mTaskData = taskData; mTask = task; Validate(); //Save task name mTask.Name = mTaskData.Name; //Create a new recurrence pattern that we will save the data into. mTask.Pattern = new RecurrencePattern(); mRule = mTask.Pattern.RRules.Add(); //Save the recurrence rule switch ((RecurrenceChoice)mTaskData.RecurrenceChoice) { case RecurrenceChoice.Daily: SaveDaily(); break; case RecurrenceChoice.Weekly: SaveWeekly(); break; case RecurrenceChoice.Monthly: SaveMonthly(); break; case RecurrenceChoice.Yearly: SaveYearly(); break; default: throw new Exception("Unknown recurrence choice."); } //Save the range of the pattern mTask.Pattern.StartDate = DateTime.Parse(mTaskData.StartDate) + TimeSpan.Parse(mTaskData.StartTime); switch ((EndType)mTaskData.EndChoice) { case EndType.None: mRule.EndType = EndType.None; break; case EndType.Count: mRule.Count = int.Parse(mTaskData.Count); break; case EndType.Until: mRule.Until = DateTime.Parse(mTaskData.EndDate); break; default: throw new Exception("Unknown end type."); } }
/// <summary> /// Saves data from form controls into the data row. /// </summary> private EditTaskFormData.TaskRow GetTaskData() { EditTaskFormData dataSet = new EditTaskFormData(); EditTaskFormData.TaskRow taskData = dataSet.Task.NewTaskRow(); taskData.Name = this.taskNameEdit.Text; taskData.StartDate = this.startDate.Text; taskData.StartTime = this.startTime.Text; taskData.EndChoice = int.Parse(this.endRadio.SelectedItem.Value); taskData.Count = this.endMaxOccurrencesEdit.Text; taskData.EndDate = this.endDate.Text; taskData.RecurrenceChoice = int.Parse(this.recurrenceRadio.SelectedItem.Value); taskData.DailyChoice = int.Parse(this.dailyRadio.SelectedItem.Value); taskData.DailyEveryNthDay = this.dailyEveryNthDayEdit.Text; taskData.WeeklyEveryNthWeek = this.weeklyEveryNthWeekEdit.Text; taskData.Sunday = this.weekDaysBtns.Items[0].Selected; taskData.Monday = this.weekDaysBtns.Items[1].Selected; taskData.Tuesday = this.weekDaysBtns.Items[2].Selected; taskData.Wednesday = this.weekDaysBtns.Items[3].Selected; taskData.Thursday = this.weekDaysBtns.Items[4].Selected; taskData.Friday = this.weekDaysBtns.Items[5].Selected; taskData.Saturday = this.weekDaysBtns.Items[6].Selected; taskData.MonthlyChoice = int.Parse(this.monthlyRadio.SelectedItem.Value); taskData.MonthlyEveryNthMonth = this.monthlyEveryNthMonthEdit.Text; taskData.MonthlyDay = int.Parse(this.monthlyDayCombo.SelectedItem.Value); taskData.MonthlyNthOccurrence = int.Parse(this.monthlyNthOccurrenceCombo.SelectedItem.Value); taskData.MonthlyDayOfWeek = int.Parse(this.monthlyDayOfWeekCombo.SelectedItem.Value); taskData.MonthlyDayOccurrence = int.Parse(this.monthlyDayOccurrenceCombo.SelectedItem.Value); taskData.MonthlyWeekDayType = int.Parse(this.monthlyWeekDayTypeCombo.SelectedItem.Value); taskData.YearlyChoice = int.Parse(this.yearlyRadio.SelectedItem.Value); taskData.YearlyEveryNthYear = this.yearlyEveryNthYearEdit.Text; taskData.YearlyDayMonth = int.Parse(this.yearlyDayMonthCombo.SelectedItem.Value); taskData.YearlyDay = int.Parse(this.yearlyDayCombo.SelectedItem.Value); taskData.YearlyNthOccurrence = int.Parse(this.yearlyNthOccurrenceCombo.SelectedItem.Value); taskData.YearlyDayOfWeek = int.Parse(this.yearlyDayOfWeekCombo.SelectedItem.Value); taskData.YearlyDayOfWeekMonth = int.Parse(this.yearlyDayOfWeekMonthCombo.SelectedItem.Value); taskData.YearlyDayOccurrence = int.Parse(this.yearlyDayOccurrenceCombo.SelectedItem.Value); taskData.YearlyWeekDayType = int.Parse(this.yearlyWeekDayTypeCombo.SelectedItem.Value); taskData.YearlyWeekDayMonth = int.Parse(this.yearlyWeekDayMonthCombo.SelectedItem.Value); return taskData; }
/// <summary> /// Creates a task data row filled with default information. /// Such a data row is used to fill the EditTask form with default values when creating a new task. /// /// Note that dates and integers are represented as strings in the form data set. /// This allows to perform user input validation in the controller, not in the form. /// </summary> public EditTaskFormData.TaskRow NewTask() { EditTaskFormData dataSet = new EditTaskFormData(); EditTaskFormData.TaskRow mTaskData = dataSet.Task.NewTaskRow(); //Load defaults into the mTaskData. mTaskData.Name = "New Task"; //Some default task start date and time so it is suitable for the Evaluation License. DateTime start = new DateTime(2004, 1, 1, 10, 30, 0); mTaskData.StartDate = DemoUtil.FormatDate(start); mTaskData.StartTime = DemoUtil.FormatTime(start); mTaskData.EndChoice = (int)EndType.None; mTaskData.Count = "10"; mTaskData.EndDate = DemoUtil.FormatDate(DateTime.Today.AddMonths(1)); mTaskData.RecurrenceChoice = (int)RecurrenceChoice.Daily; mTaskData.DailyChoice = (int)DailyChoice.EveryNthDay; mTaskData.DailyEveryNthDay = "1"; mTaskData.WeeklyEveryNthWeek = "1"; mTaskData.Sunday = false; mTaskData.Monday = false; mTaskData.Tuesday = false; mTaskData.Wednesday = false; mTaskData.Thursday = false; mTaskData.Friday = false; mTaskData.Saturday = false; mTaskData.MonthlyChoice = (int)MonthlyChoice.Day; mTaskData.MonthlyEveryNthMonth = "1"; mTaskData.MonthlyDay = 1; mTaskData.MonthlyDayOfWeek = (int)System.DayOfWeek.Sunday; mTaskData.MonthlyNthOccurrence = 1; mTaskData.MonthlyDayOccurrence = 1; mTaskData.MonthlyWeekDayType = (int)WeekDayType.WeekDay; mTaskData.YearlyChoice = (int)YearlyChoice.Day; mTaskData.YearlyEveryNthYear = "1"; mTaskData.YearlyDay = 1; mTaskData.YearlyDayMonth = 1; mTaskData.YearlyNthOccurrence = 1; mTaskData.YearlyDayOfWeek = (int)System.DayOfWeek.Sunday; mTaskData.YearlyDayOfWeekMonth = 1; mTaskData.YearlyDayOccurrence = 1; mTaskData.YearlyWeekDayType = (int)WeekDayType.WeekDay; mTaskData.YearlyWeekDayMonth = 1; return mTaskData; }