コード例 #1
0
        /*************************************************************************************************************************************************************************/



        //Reakcja na zaznaczenie/odznaczenie pola checkbox - za pomocą funkcji changeCheckStatus zmieniana jest wartość stutusu w bazie dla konkretnego zadania
        private void TasksList_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (e.NewValue == CheckState.Checked)
            {
                DataBaseSession.changeCheckStatus(toDoList[e.Index].Id, 1);                                   //jeśli pole zostało zaznaczone
            }
            else
            {
                DataBaseSession.changeCheckStatus(toDoList[e.Index].Id, 0);   //jeśli zostało odznaczone
            }
        }
コード例 #2
0
        /*************************************************************************************************************************************************************************/



        /***********************************************************OBSLUGA KLAWISZY DLA TEXT BOXA********************************************************************************/
        private void EditTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            //pole tekstowe pojawia się tylko wówczas gdy dodawane będzie nowe zadane, bądź edytowane już istniejące, rozpoznawane na podstawie trybu (mode)
            if (e.KeyCode == Keys.Enter && editTextBox.Visible == true)
            {
                if (mode == 1)
                {
                    if (editTextBox.Text != "")
                    {
                        toDoList.Add(DataBaseSession.addTaskToDo(taskCalendar.SelectionRange.Start.ToShortDateString(), editTextBox.Text));
                        tasksList.Items.Add(editTextBox.Text);
                        editTextBox.Visible     = false;
                        tasksList.Enabled       = true;
                        tasksList.SelectedIndex = tasksList.Items.Count - 1;    //by zaznaczone było ostatnie zadanie(właśnie dodane), niezależnie od tego które zaznaczone było wcześniej
                        MessageBox.Show("Dodane!");
                        mode = 0;
                    }
                    else
                    {
                        MessageBox.Show("Pole tekstowe nie może być puste!", "Błąd");
                    }
                }
                else if (mode == 2)
                {
                    if (editTextBox.Text != "")
                    {
                        int x = tasksList.SelectedIndex;
                        DataBaseSession.editTaskToDo(toDoList[x].Id, editTextBox.Text);
                        MessageBox.Show("Edytowane");
                        tasksList.Items[tasksList.SelectedIndex] = editTextBox.Text;
                        editTextBox.Visible = false;
                        tasksList.Enabled   = true;
                        mode = 0;
                    }
                    else
                    {
                        MessageBox.Show("Pole tekstowe nie może być puste!", "Błąd");
                    }
                }

                tasksList.Focus();
            }

            if (e.KeyCode == Keys.Escape) //jeśli pole tekstowe jest widoczne - czyli w trybie edycji lub dodawania, esc przenosi do listy, wyłączając jednocześnie tryb dodawania/edycji
            {
                editTextBox.Text    = "";
                editTextBox.Visible = false;
                tasksList.Enabled   = true;
                tasksList.Focus();
                mode = 0;
            }
        }
コード例 #3
0
        //Pomocnicza funkcja do usuwania, by uniknąć pisania dwa razy tego samego w kodzie
        private void deleteTask()
        {
            DialogResult dialogResult = MessageBox.Show("Czy na pewno chcesz usunąć to zadanie z listy?", "Uwaga", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                int x = tasksList.SelectedIndex;
                tasksList.Items.RemoveAt(x);
                DataBaseSession.deleteTaskToDo(toDoList[x].Id);
                toDoList.RemoveAt(x);

                if (x > 0)
                {
                    tasksList.SelectedIndex = x - 1; //aby zaznaczone zostało zadanie, które było przed usuniętym
                }
            }
        }
コード例 #4
0
 //Reakcja na zdarzenie zmiany daty w kalendarzu - aktualnie widoczna lista jest czyszczona i wypełniana "zdarzeniami" które są zaplanowane na zaznaczoną datę
 private void TaskCalendar_DateChanged(object sender, DateRangeEventArgs e)
 {
     editTextBox.Visible = false;
     editTextBox.Text    = "";
     mode = 0;
     tasksList.Items.Clear();
     toDoList = DataBaseSession.getListByDate(taskCalendar.SelectionRange.Start.ToShortDateString());
     foreach (TaskToDo task in toDoList)
     {
         int x = tasksList.Items.Add(task.Description);
         if (task.Status == 1)
         {
             tasksList.SetItemChecked(x, true);
         }
         else
         {
             tasksList.SetItemChecked(x, false);
         }
     }
 }
コード例 #5
0
        int mode = 0; // 1 - tryb dodawania, 2 - tryb edycji

        public MainWindow()
        {
            InitializeComponent();
            editTextBox.Visible = false;

            /***********************************************************POBIERANIE LIST Z ZADANIAMI NA PODSTAWIE DATY*************************************************************/

            //pobranie z bazy listy zadań na dany dzień na podstawie daty w której została uruchomiana aplikacja
            toDoList = DataBaseSession.getListByDate((DateTime.Now.ToShortDateString()));
            foreach (TaskToDo task in toDoList)
            {
                int x = tasksList.Items.Add(task.Description);
                if (task.Status == 1)
                {
                    tasksList.SetItemChecked(x, true);
                }
                else
                {
                    tasksList.SetItemChecked(x, false);
                }
            }

            //powiadomienia na dziś po włączeniu aplikacji: liczba pozostałych do wykonania zadań
            int tasksCount   = tasksList.Items.Count;
            int tasksChecked = tasksList.CheckedItems.Count;
            int tasksToDo    = tasksCount - tasksChecked;

            if (tasksToDo != 0)
            {
                MessageBox.Show("Masz dziś niewykonane zadania! Liczba pozostałych zadań: " + tasksToDo, "Uwaga!");
            }
            else
            {
                MessageBox.Show("Wszystkie zadania z listy na dziś zostały wykonane :)", "Gratulacje!");
            }
        }