//метод получает из БД выборку записей на текущую дату, перебирает, и если время записи совпадает с текущим, выдает сообщение
        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);
        }
Exemple #10
0
 private static void MainForm_OnMFLoad(Note_ everyNote)
 {
     throw new NotImplementedException();
 }