//метод получает из БД выборку записей на текущую дату, перебирает, и если время записи совпадает с текущим, выдает сообщение public void Remind() { List <Note_> notesToday = dbManager_.Select_all_Notes_at_Day(DayNumberNow()); for (int i = 0; i < notesToday.Count; i++) { Note_ currentNote = notesToday[i]; if (currentNote.Time.TimeOfDay >= DateTime.Now.TimeOfDay) { Timer timeBeforeEvent = new Timer(); TimeComesHandler time_handler = (sender, e) => { MessageBox.Show("Время выполнить:\n" + currentNote.Time.TimeOfDay + " " + currentNote.ToDo + " \n" + currentNote.Comment); timeBeforeEvent.Stop(); }; TimeSpan tSpan = currentNote.Time.TimeOfDay.Subtract(DateTime.Now.TimeOfDay); timeBeforeEvent.Tick += new EventHandler(time_handler); timeBeforeEvent.Interval = TransformDateToMillisec(tSpan); timeBeforeEvent.Start(); } else { MessageBox.Show("Просрочено!\n" + currentNote.Time.TimeOfDay + " " + currentNote.ToDo + " \n" + currentNote.Comment); } } }
public Note_ Search_DataBase(string ID) { using (CuckooEntities ce = new CuckooEntities()) { Note_ found = ce.Note_.Find(ID); return(found); } }
public void Add_DataBase(Note_ newNote) { using (CuckooEntities ce = new CuckooEntities()) { ce.Note_.Add(newNote); ce.SaveChanges(); } }
public void Remove_Note(string ID) { using (CuckooEntities ce = new CuckooEntities()) { Note_ found = ce.Note_.Find(ID); ce.Note_.Remove(found); ce.SaveChanges(); } }
//метод, изменяющий данные динамической кнопки-заметки private void ChangeToDo(string todo_id, DateTime todo_time, string todo_text, string todo_cat, string todo_com) { Note_ Note_forChange = dbManager_Mainf.Search_DataBase(Key); Note_forChange.Time = todo_time; Note_forChange.ToDo = todo_text; Note_forChange.Cathegory = todo_cat; Note_forChange.Comment = todo_com; dbManager_Mainf.Replace_DB(Key, Note_forChange); //перезапуск - отрисовать элементы заново. Application.Restart(); }
private void LoadData(string id) { Note_ tempNote = dbManager_Editf.Search_DataBase(id); todo_textBox.Text = tempNote.ToDo; numericUpDown1.Value = tempNote.Time.Hour; numericUpDown2.Value = tempNote.Time.Minute; for (int i = 0; i < cat_comboBox.Items.Count; i++) { if (cat_comboBox.Items[i].Equals(tempNote.Cathegory)) { cat_comboBox.SelectedItem = cat_comboBox.Items[i].ToString(); } } }
public void Replace_DB(string ID, Note_ newNote) { using (CuckooEntities ce = new CuckooEntities()) { Note_ note = Search_DataBase(ID); if (note != null) { ce.Note_.Attach(note); note.Time = newNote.Time; note.ToDo = newNote.ToDo; note.Cathegory = newNote.Cathegory; note.Comment = newNote.Comment; ce.SaveChanges(); } } }
//метод, отрисовывающий все кнопки заново после перезагрузки public void CreateToDoRestart(Note_ existingNote) { int clickedDay = GetClickedDay(existingNote.Id); Point _location = LocationToDo(clickedDay); //создаем кнопку Button todoBut = new Button(); DrawingToDo(todoBut, existingNote.Time, existingNote.ToDo); //из свойств Note_ todoBut.Location = _location; //нужно заново присвоить кнопке ID, вытащив его из данных в БД todoBut.Name = existingNote.Id; //все другие дни недели должны сдвинуться: ChangeCoordinates(todoBut.Height, clickedDay); NotesForAllDays[clickedDay].Add(todoBut); //создаем обработчик клика и добавляем кнопку на панель todoBut.Click += new System.EventHandler(TodoBut_Click); this.Controls.Add(todoBut); }
//метод, создающий динамическую кнопку-заметку private void CreateToDo(string todo_id, DateTime todo_time, string todo_text, string todo_cat, string todo_com) { //определим, какой день выбран int clickedDay = WhatDayIsClicked(); //определяем позицию кнопки Point _location = LocationToDo(clickedDay); //создаем кнопку Button todoBut = new Button(); DrawingToDo(todoBut, todo_time, todo_text); todoBut.Location = _location; //все другие дни недели должны сдвинуться: ChangeCoordinates(todoBut.Height, clickedDay); //создаем ID кнопки (имя), хранящее информацию о дне и порядковом номере заметки //для корректного порядкового номера нужно проверить в БД максимальный номер int todoBut_Number = dbManager_Mainf.Get_MaxID(clickedDay) + 1; todoBut.Name = clickedDay + "." + todoBut_Number; todo_id = todoBut.Name; //добавляем кнопку в список в дне и в БД NotesForAllDays[clickedDay].Add(todoBut); Note_ todoNote = new Note_() { Id = todo_id, Time = todo_time, ToDo = todo_text, Cathegory = todo_cat, Comment = todo_com }; dbManager_Mainf.Add_DataBase(todoNote); //создаем обработчик клика и добавляем кнопку на панель todoBut.Click += new System.EventHandler(TodoBut_Click); this.Controls.Add(todoBut); }
private static void MainForm_OnMFLoad(Note_ everyNote) { throw new NotImplementedException(); }