private void updateJadwalTimer(Jadwal j) { notifyCSDA.BalloonTipText = "Jadwal: " + j.deskripsi; Int32 tempInterval = getWaktu(j.tanggalJadwal); if (tempInterval <= 0) { showJadwal(); } else { jadwalTimer.Interval = tempInterval; } }
private void showJadwal() { if (lstMingguan.Items.Count <= 0) { return; } notifyCSDA.ShowBalloonTip(30000); removeJadwal(findEarliestJadwal()); Jadwal j = findEarliestJadwal(); if (j != null) { updateJadwalTimer(findEarliestJadwal()); } }
private Jadwal findEarliestJadwal() { if (lstMingguan.Items.Count <= 0) { return(null); } Jadwal returnJadwal = (Jadwal)lstMingguan.Items[0]; foreach (Jadwal j in lstMingguan.Items) { if (j.tanggalJadwal.Ticks <= returnJadwal.tanggalJadwal.Ticks) { returnJadwal = j; } } return(returnJadwal); }
private void removeJadwal(Jadwal j) { bool update = false; if (isEarliestJadwal(j)) { update = true; } lstMingguan.Items.Remove(j); if (lstMingguan.Items.Count <= 0) { jadwalTimer.Stop(); } else if (update) { updateJadwalTimer(findEarliestJadwal()); } }
//====================================================================================================// // KODE UNTUK FITUR JADWAL // Mekanismenya sama dengan reminder hanya saja pada jadwal dibuat sama perminggu nya //====================================================================================================// /// <summary> /// Menambahkan jadwal baru /// </summary> private void btnJadwalAdd_Click(object sender, EventArgs e) { if (tbJadwal.Text == "") { MessageBox.Show("Mohon isi kolom deskripsi jadwal!", "Warning"); return; } DateTime tanggalJadwal = new DateTime(monthCalendarJadwal.SelectionEnd.Year, monthCalendarJadwal.SelectionEnd.Month, monthCalendarJadwal.SelectionEnd.Day, timePickerJadwal.Value.Hour, timePickerJadwal.Value.Minute, timePickerJadwal.Value.Second); Jadwal j = new Jadwal(tbJadwal.Text, tanggalJadwal); tbJadwal.Text = ""; cmbJadwalRemove.Items.Add(j); if (DatesAreInTheSameWeek(tanggalJadwal, DateTime.Now)) { lstMingguan.Items.Add(j); } if (tanggalJadwal.Day == DateTime.Now.Day) { clbHarian.Items.Add(j); } // Set waktu dan start timer jika reminder pertama ditambahkan if (lstMingguan.Items.Count <= 1) { updateJadwalTimer(j); jadwalTimer.Start(); } // Apabila jadwal berikutnya lebih awal maka waktu diupdate else if (isEarliestJadwal(j)) { updateJadwalTimer(j); } }
private void Save() { FileStream todoFS = new FileStream("todo.dat", FileMode.Create); FileStream reminderFS = new FileStream("reminder.dat", FileMode.Create); FileStream jadwalFS = new FileStream("jadwal.dat", FileMode.Create); FileStream habitFS = new FileStream("habit.dat", FileMode.Create); BinaryFormatter formatter = new BinaryFormatter(); Todo[] todo = new Todo[clbTodo.Items.Count]; clbTodo.Items.CopyTo(todo, 0); Reminder[] reminder = new Reminder[clbReminder.Items.Count]; clbReminder.Items.CopyTo(reminder, 0); Jadwal[] jadwal = new Jadwal[lstMingguan.Items.Count]; lstMingguan.Items.CopyTo(jadwal, 0); Habit[] habit = new Habit[lstHabit.Items.Count]; lstHabit.Items.CopyTo(habit, 0); try { formatter.Serialize(todoFS, todo); formatter.Serialize(reminderFS, reminder); formatter.Serialize(jadwalFS, jadwal); formatter.Serialize(habitFS, habit); } catch (Exception e) { MessageBox.Show("Failed to serialize: Reason: " + e.Message); throw; } finally { habitFS.Close(); todoFS.Close(); reminderFS.Close(); jadwalFS.Close(); } }
private bool isEarliestJadwal(Jadwal inJadwal) { return(inJadwal.Equals(findEarliestJadwal())); }