Exemplo n.º 1
0
        private void updateJadwalTimer(Jadwal j)
        {
            notifyCSDA.BalloonTipText = "Jadwal: " + j.deskripsi;
            Int32 tempInterval = getWaktu(j.tanggalJadwal);

            if (tempInterval <= 0)
            {
                showJadwal();
            }
            else
            {
                jadwalTimer.Interval = tempInterval;
            }
        }
Exemplo n.º 2
0
        private void showJadwal()
        {
            if (lstMingguan.Items.Count <= 0)
            {
                return;
            }
            notifyCSDA.ShowBalloonTip(30000);

            removeJadwal(findEarliestJadwal());
            Jadwal j = findEarliestJadwal();

            if (j != null)
            {
                updateJadwalTimer(findEarliestJadwal());
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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());
            }
        }
Exemplo n.º 5
0
        //====================================================================================================//
        // 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);
            }
        }
Exemplo n.º 6
0
        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();
            }
        }
Exemplo n.º 7
0
 private bool isEarliestJadwal(Jadwal inJadwal)
 {
     return(inJadwal.Equals(findEarliestJadwal()));
 }