private void ActivityDetailForm_Load(object sender, EventArgs e) { DataRowView view = this.BindingContext[adaScheduleDataSet1, ACTIVITY_TABLE].Current as DataRowView; ADAScheduleDataSet.ActivityRow activityRow = view.Row as ADAScheduleDataSet.ActivityRow; if (!activityRow.IsSymbolIdNull()) { if (!activityRow.SymbolRow.IsImageNull()) { byte[] image = activityRow.SymbolRow.Image; this.pictureBoxImage.Image = ImageEngine.Resize(ImageEngine.FromArray(image), this.pictureBoxImage.Size); } } ADAScheduleDataSet.Activity_ReminderRow[] activityReminderRows = activityRow.GetActivity_ReminderRows(); foreach (ADAScheduleDataSet.Activity_ReminderRow activityReminderRow in activityReminderRows) { if (!activityReminderRow.IsTimeNull() && activityReminderRow.ReminderId == ADADataAccess.Constants.ALARM_REMINDER_ID) { this.dateTimePickerAlarm.Value = activityReminderRow.Time; _alarmTimeSpan = activityReminderRow.Time - activityRow.EndTime; } } buttonPlaySound.Enabled = (!activityRow.IsSymbolIdNull() && !activityRow.SymbolRow.IsSoundNull()); }
private void buttonChangeSymbol_Click(object sender, EventArgs e) { DataRowView view = this.BindingContext[adaScheduleDataSet1, ACTIVITY_TABLE].Current as DataRowView; ADAScheduleDataSet.ActivityRow activityRow = view.Row as ADAScheduleDataSet.ActivityRow; SymbolPicker picker = new SymbolPicker(); SymbolDataSet.LocalizedSymbolRow symbolRow = picker.PickSymbol(this, activityRow.IsSymbolIdNull() ? -1 : activityRow.SymbolId); if (symbolRow != null) { if (adaScheduleDataSet1.Symbol.FindBySymbolId(symbolRow.SymbolId) == null) { ADAScheduleDataSet.SymbolRow newRow = adaScheduleDataSet1.Symbol.NewSymbolRow(); newRow.SymbolId = symbolRow.SymbolId; if (!symbolRow.IsSoundNull()) { newRow.Sound = symbolRow.Sound; } if (!symbolRow.IsImageNull()) { newRow.Image = symbolRow.Image; } adaScheduleDataSet1.Symbol.AddSymbolRow(newRow); } byte[] image = symbolRow.Image; if (image != null) { this.pictureBoxImage.Image = ImageEngine.Resize(ImageEngine.FromArray(image), this.pictureBoxImage.Size); } buttonPlaySound.Enabled = !symbolRow.IsSoundNull(); this.BindingContext[adaScheduleDataSet1, ACTIVITY_TABLE].EndCurrentEdit(); view.BeginEdit(); activityRow.Name = symbolRow.Name; activityRow.SymbolId = symbolRow.SymbolId; activityRow.Image = image; view.EndEdit(); } }
private void buttonEdit_Click(object sender, EventArgs e) { DataRowView view = this.BindingContext[adaScheduleDataSet1, "User.FK_Schedule_User.FK_Activity_Schedule"].Current as DataRowView; ADAScheduleDataSet.ActivityRow row = view.Row as ADAScheduleDataSet.ActivityRow; ActivityDetailForm f = new ActivityDetailForm(); f.ScheduleDataSet.Merge(adaScheduleDataSet1); f.ScheduleDataSet.DefaultViewManager.DataViewSettings["Activity"].RowFilter = "ActivityId=" + row.ActivityId; if (f.ShowDialog() == DialogResult.OK) { adaScheduleDataSet1.Merge(f.ScheduleDataSet); } }
private void buttonOK_Click(object sender, EventArgs e) { this.BindingContext[adaScheduleDataSet1, ACTIVITY_TABLE].EndCurrentEdit(); DataRowView view = this.BindingContext[adaScheduleDataSet1, ACTIVITY_TABLE].Current as DataRowView; ADAScheduleDataSet.ActivityRow activityRow = view.Row as ADAScheduleDataSet.ActivityRow; DataRow[] rows = adaScheduleDataSet1.Activity.Select( "ActivityId <> " + activityRow.ActivityId + " AND ScheduleId = " + activityRow.ScheduleId, "Sequence DESC"); foreach (ADAScheduleDataSet.ActivityRow row in rows) { if (row.Sequence < activityRow.Sequence) { break; } row.Sequence++; } rows = adaScheduleDataSet1.Activity.Select("ScheduleId = " + activityRow.ScheduleId, "Sequence ASC"); int i = 1; foreach (ADAScheduleDataSet.ActivityRow row in rows) { row.Sequence = i++; } ADAScheduleDataSet.Activity_ReminderRow[] activityReminderRows = activityRow.GetActivity_ReminderRows(); foreach (ADAScheduleDataSet.Activity_ReminderRow activityReminderRow in activityReminderRows) { if (!activityReminderRow.IsTimeNull() && activityReminderRow.ReminderId == ADADataAccess.Constants.ALARM_REMINDER_ID) { activityReminderRow.Time = this.dateTimePickerAlarm.Value; } } }
private void buttonDelete_Click(object sender, EventArgs e) { DataRowView view = this.BindingContext[adaScheduleDataSet1, "User.FK_Schedule_User.FK_Activity_Schedule"].Current as DataRowView; ADAScheduleDataSet.ActivityRow row = view.Row as ADAScheduleDataSet.ActivityRow; int scheduleId = row.ScheduleId; row.Delete(); DataRow[] rows = adaScheduleDataSet1.Activity.Select("ScheduleId = " + scheduleId, "Sequence ASC"); int i = 1; foreach (ADAScheduleDataSet.ActivityRow activityRow in rows) { activityRow.Sequence = i++; } }
private void buttonPlaySound_Click(object sender, EventArgs e) { try { using (SoundPlayer player = new SoundPlayer()) { DataRowView view = this.BindingContext[adaScheduleDataSet1, ACTIVITY_TABLE].Current as DataRowView; ADAScheduleDataSet.ActivityRow activityRow = view.Row as ADAScheduleDataSet.ActivityRow; using (MemoryStream ms = new MemoryStream(activityRow.SymbolRow.Sound)) { player.Stream = ms; player.Play(); } } } catch (Exception ex) { ReportError(ex); } }
private void copyToAntherUserToolStripMenuItem_Click(object sender, EventArgs e) { System.Data.DataRowView userRowView = this.BindingContext[adaScheduleDataSet1, "User"].Current as System.Data.DataRowView; if (userRowView != null) { ADAScheduleDataSet.UserRow currentUserRow = userRowView.Row as ADAScheduleDataSet.UserRow; SelectUserForm f = new SelectUserForm(); f.ScheduleDataSet.Merge(adaScheduleDataSet1); DataRow[] rows = f.ScheduleDataSet.User.Select("UserId=" + currentUserRow.UserId); if (rows.Length > 0) { rows[0].Delete(); } if (f.ShowDialog(this) == DialogResult.OK) { DataRow[] scheduleRows = adaScheduleDataSet1.Schedule.Select("UserId=" + f.SelectedUser.UserId); ADAScheduleDataSet.ScheduleRow currentScheduleRow = null; foreach (ADAScheduleDataSet.ScheduleRow scheduleRow in scheduleRows) { if (scheduleRow.Type == (int)ScheduleType.Normal) { currentScheduleRow = scheduleRow; break; } } if (currentScheduleRow == null) { currentScheduleRow = adaScheduleDataSet1.Schedule.NewScheduleRow(); currentScheduleRow.UserId = f.SelectedUser.UserId; currentScheduleRow.Type = (int)ScheduleType.Normal; currentScheduleRow.Date = monthCalendar1.SelectionStart; currentScheduleRow.IsActive = true; adaScheduleDataSet1.Schedule.AddScheduleRow(currentScheduleRow); } else { foreach (ADAScheduleDataSet.ActivityRow activityRow in currentScheduleRow.GetActivityRowsByFK_Activity_Schedule()) { ADAScheduleDataSet.Activity_ReminderRow[] remiderRows = activityRow.GetActivity_ReminderRows(); foreach (ADAScheduleDataSet.Activity_ReminderRow reminderRow in remiderRows) { reminderRow.Delete(); } activityRow.Delete(); } } int count = this.BindingContext[adaScheduleDataSet1, "User.FK_Schedule_User.FK_Activity_Schedule"].Count; for (int i = 0; i < count; i++) { this.BindingContext[adaScheduleDataSet1, "User.FK_Schedule_User.FK_Activity_Schedule"].Position = i; DataRowView activityRowView = this.BindingContext[adaScheduleDataSet1, "User.FK_Schedule_User.FK_Activity_Schedule"].Current as DataRowView; ADAScheduleDataSet.ActivityRow currentActivityRow = activityRowView.Row as ADAScheduleDataSet.ActivityRow; ADAScheduleDataSet.ActivityRow newActivityRow = adaScheduleDataSet1.Activity.NewActivityRow(); newActivityRow.ScheduleId = currentScheduleRow.ScheduleId; newActivityRow.Sequence = currentActivityRow.Sequence; newActivityRow.StartTime = currentActivityRow.StartTime; newActivityRow.EndTime = currentActivityRow.EndTime; newActivityRow.Name = currentActivityRow.Name; newActivityRow.SymbolId = currentActivityRow.SymbolId; newActivityRow.Image = currentActivityRow.Image; adaScheduleDataSet1.Activity.AddActivityRow(newActivityRow); ADAScheduleDataSet.Activity_ReminderRow[] remiderRows = currentActivityRow.GetActivity_ReminderRows(); foreach (ADAScheduleDataSet.Activity_ReminderRow reminderRow in remiderRows) { ADAScheduleDataSet.Activity_ReminderRow activityReminderRow = adaScheduleDataSet1.Activity_Reminder.NewActivity_ReminderRow(); activityReminderRow.ActivityId = newActivityRow.ActivityId; activityReminderRow.ReminderId = ADADataAccess.Constants.ALARM_REMINDER_ID; activityReminderRow.Time = reminderRow.Time; adaScheduleDataSet1.Activity_Reminder.AddActivity_ReminderRow(activityReminderRow); } } count = this.BindingContext[adaScheduleDataSet1, "User"].Count; for (int i = 0; i < count; i++) { this.BindingContext[adaScheduleDataSet1, "User"].Position = i; userRowView = this.BindingContext[adaScheduleDataSet1, "User"].Current as System.Data.DataRowView; currentUserRow = userRowView.Row as ADAScheduleDataSet.UserRow; if (currentUserRow.UserId == f.SelectedUser.UserId) { break; } } } } }
private void buttonAddActivity_Click(object sender, EventArgs e) { ActivityDetailForm f = new ActivityDetailForm(); f.ScheduleDataSet.Merge(adaScheduleDataSet1); DataRowView view = this.BindingContext[adaScheduleDataSet1, "User"].Current as DataRowView; ADAScheduleDataSet.UserRow userRow = view.Row as ADAScheduleDataSet.UserRow; DataRow[] scheduleRows = f.ScheduleDataSet.Schedule.Select("UserId=" + userRow.UserId); ADAScheduleDataSet.ScheduleRow currentScheduleRow = null; foreach (ADAScheduleDataSet.ScheduleRow scheduleRow in scheduleRows) { if (scheduleRow.Type == (int)ScheduleType.Normal) { currentScheduleRow = scheduleRow; break; } } if (currentScheduleRow == null) { currentScheduleRow = f.ScheduleDataSet.Schedule.NewScheduleRow(); currentScheduleRow.UserId = userRow.UserId; currentScheduleRow.Type = (int)ScheduleType.Normal; currentScheduleRow.Date = monthCalendar1.SelectionStart; currentScheduleRow.IsActive = true; f.ScheduleDataSet.Schedule.AddScheduleRow(currentScheduleRow); } int sequenceMax = 0; DateTime startTimeMax = currentScheduleRow.Date; DateTime endTimeMax = currentScheduleRow.Date; ADAScheduleDataSet.ActivityRow lastActivityRow = null; foreach (ADAScheduleDataSet.ActivityRow activityRow in currentScheduleRow.GetActivityRowsByFK_Activity_Schedule()) { if (sequenceMax < activityRow.Sequence) { sequenceMax = activityRow.Sequence; lastActivityRow = activityRow; if (!activityRow.IsStartTimeNull() && startTimeMax.CompareTo(activityRow.StartTime) < 0) { startTimeMax = activityRow.StartTime; } if (!activityRow.IsEndTimeNull() && endTimeMax.CompareTo(activityRow.EndTime) < 0) { endTimeMax = activityRow.EndTime; } } } ADAScheduleDataSet.ActivityRow currentActivityRow = f.ScheduleDataSet.Activity.NewActivityRow(); currentActivityRow.ScheduleId = currentScheduleRow.ScheduleId; currentActivityRow.Sequence = sequenceMax + 1; currentActivityRow.StartTime = endTimeMax; currentActivityRow.EndTime = endTimeMax + endTimeMax.Subtract(startTimeMax); if (currentActivityRow.EndTime == currentActivityRow.StartTime) { currentActivityRow.EndTime = currentActivityRow.StartTime.Add(new TimeSpan(1, 0, 0)); } currentActivityRow.Name = string.Format("Step {0}", currentActivityRow.Sequence); if (lastActivityRow != null) { currentActivityRow.SymbolId = lastActivityRow.SymbolId; currentActivityRow.Image = lastActivityRow.Image; } f.ScheduleDataSet.Activity.AddActivityRow(currentActivityRow); ADAScheduleDataSet.Activity_ReminderRow activityReminderRow = f.ScheduleDataSet.Activity_Reminder.NewActivity_ReminderRow(); activityReminderRow.ActivityId = currentActivityRow.ActivityId; activityReminderRow.ReminderId = ADADataAccess.Constants.ALARM_REMINDER_ID; activityReminderRow.Time = currentActivityRow.EndTime.Subtract(new TimeSpan(0, 15, 0)); f.ScheduleDataSet.Activity_Reminder.AddActivity_ReminderRow(activityReminderRow); f.ScheduleDataSet.DefaultViewManager.DataViewSettings["Activity"].RowFilter = "ActivityId=" + currentActivityRow.ActivityId; if (f.ShowDialog() == DialogResult.OK) { adaScheduleDataSet1.Merge(f.ScheduleDataSet); } }