Exemplo n.º 1
0
        private void btnPlaySound_Click(object sender, EventArgs e)
        {
            if (TaskSoundType == SoundType.Internal)
            {
                SoundPlayer sp = new SoundPlayer(Properties.Resources.alarm);
                sp.Load();
                sp.Play();
            }

            if (TaskSoundType == SoundType.User)
            {
                if (SoundFile == "")
                {
                    lblFormMsg.ForeColor = Color.Red;
                    lblFormMsg.Text      = "Файл не указан!";
                    return;
                }

                try
                {
                    SoundPlayer sp = new SoundPlayer(SoundFile);
                    sp.Load();
                    sp.Play();
                }
                catch (Exception ex)
                {
                    CommonFunctions.ErrMessage(ex.Message);
                }
            }
        }
Exemplo n.º 2
0
        private void mnuFileCopyConfig_Click(object sender, EventArgs e)
        {
            dlgSave.FileName = "";
            DialogResult Ans = dlgSave.ShowDialog();

            if (Ans == DialogResult.Cancel)
            {
                return;
            }

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
                return;
            }

            try
            {
                File.Copy(cConfig.ConfigPath + cConfig.ConfigFileName,
                          dlgSave.FileName);
            }
            catch (Exception ex)
            {
                CommonFunctions.ErrMessage(ex.Message);
            }
        }
Exemplo n.º 3
0
        private void mnuTrashClean_Click(object sender, EventArgs e)
        {
            if (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count == 0)
            {
                return;
            }

            DialogResult Ans = MessageBox.Show("Очистить корзину?\r\n ОТМЕНИТЬ БУДЕТ НЕВОЗМОЖНО!",
                                               "ОЧИСТКА КОРЗИНЫ", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (Ans == DialogResult.No)
            {
                return;
            }

            while (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count > 0)
            {
                DataRow dr = CurRec("TrashNotes", 0);

                //удаление из корзины
                cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr);
            }

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
        }
Exemplo n.º 4
0
        private void mnuToolsSave_Click(object sender, EventArgs e)
        {
            DataRow dr = CurRec("Notes");

            if (dr == null)
            {
                return;
            }

            dlgSaveFile.FileName = "";
            DialogResult Ans = dlgSaveFile.ShowDialog();

            if (Ans == DialogResult.Cancel)
            {
                return;
            }

            string buf = dr["Caption"] + "\r\n\r\n" +
                         CommonFunctions.AtCRLF((string)dr["Text"]);

            try
            {
                File.WriteAllText(dlgSaveFile.FileName, buf, Encoding.GetEncoding(1251));
            }
            catch (Exception ex)
            {
                CommonFunctions.ErrMessage(ex.Message);
            }
        }
Exemplo n.º 5
0
        private void mnuTrashRestoreAll_Click(object sender, EventArgs e)
        {
            if (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count == 0)
            {
                return;
            }

            DialogResult Ans = MessageBox.Show("Восстановить все записи?",
                                               "Массовое восстановление", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (Ans == DialogResult.No)
            {
                return;
            }

            while (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count > 0)
            {
                DataRow dr = CurRec("TrashNotes", 0);

                //восстановление
                cConfig.dsConfig.Tables["Notes"].Rows.Add(null,
                                                          dr["Caption"].ToString(), dr["Text"].ToString());

                //удаление из корзины
                cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr);
            }

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
        }
Exemplo n.º 6
0
        private void mnuEditDeleteAll_Click(object sender, EventArgs e)
        {
            if (cConfig.dsConfig.Tables["Notes"].Rows.Count == 0)
            {
                return;
            }

            DialogResult Ans = MessageBox.Show("Действительно удалить все записи?",
                                               "Массовое удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (Ans == DialogResult.No)
            {
                return;
            }

            while (cConfig.dsConfig.Tables["Notes"].Rows.Count > 0)
            {
                DataRow dr = CurRec("Notes", 0);

                //копирование в корзину
                cConfig.dsConfig.Tables["TrashNotes"].Rows.Add(null,
                                                               dr["Caption"].ToString(), dr["Text"].ToString());

                //удаление
                cConfig.dsConfig.Tables["Notes"].Rows.Remove(dr);
            }

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
            FindRows = null;
        }
Exemplo n.º 7
0
        private void mnuEditEdit_Click(object sender, EventArgs e)
        {
            DataRow dr = CurRec("Notes");

            if (dr == null)
            {
                return;
            }

            frmAdd fAdd = new frmAdd();

            fAdd.stNote    = dr["Text"].ToString();
            fAdd.stCaption = dr["Caption"].ToString();
            fAdd.bEdit     = true;
            fAdd.ShowDialog();

            if (fAdd.bSuccess)
            {
                dr["Text"]    = fAdd.stNote;
                dr["Caption"] = fAdd.stCaption;
            }

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }

            FindRows = null;
        }
Exemplo n.º 8
0
        private void mnuToolsSaveAll_Click(object sender, EventArgs e)
        {
            dlgSaveFile.FileName = "";
            DialogResult Ans = dlgSaveFile.ShowDialog();

            if (Ans == DialogResult.Cancel)
            {
                return;
            }

            if (cConfig.dsConfig.Tables["Notes"].Rows.Count == 0)
            {
                return;
            }

            string buf = "";

            foreach (DataRow dr in cConfig.dsConfig.Tables["Notes"].Rows)
            {
                buf = buf + dr["Caption"] + "\r\n\r\n" +
                      CommonFunctions.AtCRLF((string)dr["Text"]) +
                      "\r\n--------------------\r\n";
            }

            try
            {
                File.WriteAllText(dlgSaveFile.FileName, buf, Encoding.GetEncoding(1251));
            }
            catch (Exception ex)
            {
                CommonFunctions.ErrMessage(ex.Message);
            }
        }
Exemplo n.º 9
0
        private void mnuTasksStartAll_Click(object sender, EventArgs e)
        {
            WorkerErrorLevel wol = Worker.StartAutoRefresh();

            if (wol != WorkerErrorLevel.OK)
            {
                CommonFunctions.ErrMessage(Worker.TaskErrMessage);
                statlblMessages.ForeColor = Color.Red;
                statlblMessages.Text      = Worker.TaskErrMessage;
            }
            else
            {
                if (Worker.TaskErrMessage == string.Empty)
                {
                    statlblMessages.ForeColor = Color.Black;
                    statlblMessages.Text      = "Задачи запущены. " +
                                                "Задач " + Worker.LoadedTasksCount();
                }
                else
                {
                    statlblMessages.ForeColor = Color.Crimson;
                    statlblMessages.Text      = Worker.TaskErrMessage;
                }

                mnuTasksStartAll.Enabled = false;
                mnuTasksStopAll.Enabled  = true;
                mnuTasksRestart.Enabled  = true;
            }
        }
Exemplo n.º 10
0
        private void mnuTrashDelete_Click(object sender, EventArgs e)
        {
            //выбор записи в корзине
            DataRow dr = CurRec("TrashNotes");

            if (dr == null)
            {
                return;
            }

            DialogResult Ans = MessageBox.Show("Окончательно удалить запись " +
                                               dr["Caption"].ToString() + "?\r\nОтменить будет невозможно!",
                                               "Окончательное удаление записи", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (Ans == DialogResult.No)
            {
                return;
            }

            //удаление из корзины
            cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr);

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
        }
Exemplo n.º 11
0
        private void lblDelete_Click(object sender, EventArgs e)
        {
            DialogResult Ans = MessageBox.Show("Удалить запись?", "Удаление",
                                               MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (Ans == DialogResult.No)
            {
                return;
            }

            if ((CurRow > -1) && (CurRow < RowsCount)) //запись сохраненная
            {
                //удаление
                try
                {
                    //поиск записи
                    DataRow dr = cConfig.dsConfig.Tables["Notes"].Rows.Find(recID);
                    //копирование заметки в "корзину"
                    cConfig.dsConfig.Tables["TrashNotes"].Rows.Add(
                        null, dr["Caption"], dr["Text"]);
                    //удаление
                    cConfig.dsConfig.Tables["Notes"].Rows.Remove(dr);
                }
                catch (Exception ex)
                {
                    CommonFunctions.ErrMessage(ex.Message);
                    return;
                }

                //сохраняем файл
                if (!cConfig.SaveConfig())
                {
                    CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
                    return;
                }

                //очищаем текстовые поля
                txtCaption.Text = ""; txtNote.Text = "";

                CountersUpdate(); //обновляем счетчики

                //Показываем
                if (CurRow == RowsCount) //если записей нет пустую
                {
                    NewRec(true);
                }
                else //следующую запись если записи есть
                {
                    ShowCurRec();
                }
            }
            else //это была новая запись
            {
                //очищаем текстовые поля
                txtCaption.Text = ""; txtNote.Text = "";
            }
        }
Exemplo n.º 12
0
        private void mnuEditDelete_Click(object sender, EventArgs e)
        {
            if (grdMain.CurrentRow == null)
            {
                return;
            }
            int RecID = (int)grdMain.CurrentRow.Cells["ID"].Value;

            //проверка, не заблокирована ли запись
            if (LockedRecIDs.Contains(RecID))
            {
                CommonFunctions.InfoMessage("Запись заблокирована, так как данное задание выполняется",
                                            "Запись заблокирована");
                return;
            }

            DataRow dr = cConfig.dsConfig.Tables["Tasks"].Rows.Find(RecID);

            DialogResult Ans = MessageBox.Show("Окончательно удалить задачу " +
                                               dr["Name"].ToString() + "?\r\nОтменить будет невозможно!",
                                               "Удаление задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (Ans == DialogResult.No)
            {
                return;
            }

            //определение, удаляется ли последняя строка в гриде
            bool LastRow = false;
            int  gridy   = grdMain.CurrentCellAddress.Y;
            int  gridx   = grdMain.CurrentCellAddress.X;

            if (gridy == (grdMain.Rows.Count - 1))
            {
                LastRow = true;
            }

            //удаление задачи
            cConfig.dsConfig.Tables["Tasks"].Rows.Remove(dr);
            //выгружаем из списка запущенных, если есть
            WorkerErrorLevel wol = Worker.RemoveTask(RecID, false);

            showworkererror(wol, "Задача удалена");
            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
            FindRows = null;

            if (LastRow)
            {
                if (grdMain.Rows.Count > 0)
                {
                    grdMain.Rows[grdMain.Rows.Count - 1].Cells[gridx].Selected = true;
                }
            }
        }
Exemplo n.º 13
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     if (FileName == "")
     {
         CommonFunctions.ErrMessage("Не выбран файл!");
         return;
     }
     bSuccess = true;
     this.Close();
 }
Exemplo n.º 14
0
        private void mnuEditEdit_Click(object sender, EventArgs e)
        {
            if (grdMain.CurrentRow == null)
            {
                return;
            }

            //Подготовка данных для редактирования
            int   RecID = (int)grdMain.CurrentRow.Cells["ID"].Value;
            cTask Task  = null;

            //проверка, не заблокирована ли запись
            if (LockedRecIDs.Contains(RecID))
            {
                CommonFunctions.InfoMessage("Запись заблокирована, так как данное задание выполняется",
                                            "Запись заблокирована");
                return;
            }

            try
            {
                Task = new cTask(cConfig.dsConfig, "Tasks", RecID);
            }
            catch (Exception ex)
            {
                CommonFunctions.ErrMessage(ex.Message);
                statlblMessages.ForeColor = Color.Red;
                statlblMessages.Text      = "ОШИБКА: " + ex.Message;
                return;
            }

            //форма редактирования
            frmAddTask fAddTask = new frmAddTask();

            fAddTask.fMain = this;
            fAddTask.Task  = Task;
            fAddTask.bEdit = true;
            fAddTask.ShowDialog();
            OnLockRecord   = null;
            OnUnlockRecord = null;

            if (fAddTask.bSuccess)
            {
                FindRows = null; //обнуление поиска

                //отредактированное задание должно быть в очереди на выполнение
                if (Worker.RunningInCurrentPeriod(RecID))
                {
                    Worker.RemoveTask(RecID, false);              //удаляем
                    WorkerErrorLevel wol = Worker.AddTask(RecID); //перезапускаем
                    showworkererror(wol, "Задача сохранена и запущена на выполнение.");
                }
            }
        }
Exemplo n.º 15
0
 private void pctLogo_Click(object sender, EventArgs e)
 {
     try
     {
         Process.Start("http://tolik-punkoff.com");
     }
     catch (Exception ex)
     {
         CommonFunctions.ErrMessage(ex.Message);
     }
 }
Exemplo n.º 16
0
        void Worker_OnAutoRefreshError(object sender)
        {
            cTaskWorker w = (cTaskWorker)sender;

            CommonFunctions.ErrMessage(w.TaskErrMessage);
            WorkerErrorLevel wol = w.StopAutoRefresh();

            if (wol != WorkerErrorLevel.OK)
            {
                CommonFunctions.ErrMessage(w.TaskErrMessage);
            }
        }
Exemplo n.º 17
0
 private void btnPlaySound_Click(object sender, EventArgs e)
 {
     try
     {
         SoundPlayer sp = new SoundPlayer(FileName);
         sp.Load();
         sp.Play();
     }
     catch (Exception ex)
     {
         CommonFunctions.ErrMessage(ex.Message);
     }
 }
Exemplo n.º 18
0
        private void mnuEditDelete_Click(object sender, EventArgs e)
        {
            //поиск
            DataRow dr = CurRec("Notes");

            if (dr == null)
            {
                return;
            }

            DialogResult Ans = MessageBox.Show("Удалить запись " + dr["Caption"].ToString() + "?",
                                               "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (Ans == DialogResult.No)
            {
                return;
            }

            //определение, удаляется ли последняя строка в гриде
            bool LastRow = false;
            int  gridy   = grdMain.CurrentCellAddress.Y;
            int  gridx   = grdMain.CurrentCellAddress.X;

            if (gridy == (grdMain.Rows.Count - 1))
            {
                LastRow = true;
            }


            //копирование в корзину
            cConfig.dsConfig.Tables["TrashNotes"].Rows.Add(null,
                                                           dr["Caption"].ToString(), dr["Text"].ToString());

            //удаление
            cConfig.dsConfig.Tables["Notes"].Rows.Remove(dr);

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }

            FindRows = null;

            if (LastRow)
            {
                if (grdMain.Rows.Count > 0)
                {
                    grdMain.Rows[grdMain.Rows.Count - 1].Cells[gridx].Selected = true;
                }
            }
        }
Exemplo n.º 19
0
        private void btnAutostart_Click(object sender, EventArgs e)
        {
            bool res = cConfig.SwitchAutostart();

            if (!res)
            {
                CommonFunctions.ErrMessage("Неудача при изменении автозагрузки! Возможно нужно запустить программу с правами администратора!");
            }
            else
            {
                MessageBox.Show("Успешно изменена автозагрузка!", "Успешно", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            AutostartInfo();
        }
Exemplo n.º 20
0
        private void mnuEditAdd_Click(object sender, EventArgs e)
        {
            frmAdd fAdd = new frmAdd();

            fAdd.ShowDialog();

            if (fAdd.bSuccess)
            {
                cConfig.dsConfig.Tables["Notes"].Rows.Add(null,
                                                          fAdd.stCaption, fAdd.stNote);
            }

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }

            FindRows = null;
        }
Exemplo n.º 21
0
        private void mnuToolsRestoreWindow_Click(object sender, EventArgs e)
        {
            RestoreWindow = true;
            cConfig.SetParameter("AllNotes.Maximized", "false");
            cConfig.SetParameter("AllNotes.Top", string.Empty);
            cConfig.SetParameter("AllNotes.Left", string.Empty);
            cConfig.SetParameter("AllNotes.Width", "601");
            cConfig.SetParameter("AllNotes.Height", "373");

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
            else
            {
                MessageBox.Show("Параметры окна по умолчанию восстановлены \r\n" +
                                "Откройте окно вновь.", "Готово", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);

                this.Close();
            }
        }
Exemplo n.º 22
0
        private void mnuTrashRestore_Click(object sender, EventArgs e)
        {
            //выбор записи в корзине
            DataRow dr = CurRec("TrashNotes");

            if (dr == null)
            {
                return;
            }

            //восстановление
            cConfig.dsConfig.Tables["Notes"].Rows.Add(null,
                                                      dr["Caption"].ToString(), dr["Text"].ToString());

            //удаление из корзины
            cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr);

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
        }
Exemplo n.º 23
0
        private void TimeAlarm()
        {
            if (Convert.ToBoolean(cConfig.GetParameter("Baloon", "false")))
            {
                CommonFunctions.globalNI.ShowBalloonTip(5000, "Сработал таймер",
                                                        cConfig.GetParameter("Message", ""), ToolTipIcon.None);
            }

            int soundtype = Convert.ToInt32(cConfig.GetParameter("SoundType", "0"));

            switch (soundtype)
            {
            case 0:     //встроенный звук
            {
                SoundPlayer sp = new SoundPlayer(Properties.Resources.alarm);
                sp.Load();
                sp.Play();
            }; break;

            case 1:     //пользовательский файл
            {
                string soundfile = cConfig.GetParameter("SoundFile", "");

                try
                {
                    SoundPlayer sp = new SoundPlayer(soundfile);
                    sp.Load();
                    sp.Play();
                }
                catch (Exception ex)
                {
                    CommonFunctions.ErrMessage(ex.Message);
                }
            }; break;
            }
        }
Exemplo n.º 24
0
        void showworkererror(WorkerErrorLevel wol, string oktext)
        {
            switch (wol)
            {
            case WorkerErrorLevel.Error:
            {
                statlblMessages.ForeColor = Color.Red;
                statlblMessages.Text      = Worker.TaskErrMessage;
                CommonFunctions.ErrMessage(Worker.TaskErrMessage);
            }; break;

            case WorkerErrorLevel.Warning:
            {
                statlblMessages.ForeColor = Color.Crimson;
                statlblMessages.Text      = Worker.TaskErrMessage;
            }; break;

            default:
            {
                statlblMessages.ForeColor = Color.Black;
                statlblMessages.Text      = oktext;
            }; break;
            }
        }
Exemplo n.º 25
0
        private void lblSave_Click(object sender, EventArgs e)
        {
            if (isEdit) //редактирование существующей записи
            {
                if ((txtCaption.Text == "") && (txtNote.Text == ""))
                {
                    DialogResult Ask = MessageBox.Show("Сохранить пустую запись?",
                                                       "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (Ask == DialogResult.No)
                    {
                        return;
                    }
                }
                DataRow dr  = cConfig.dsConfig.Tables["Notes"].Rows.Find(recID);
                int     idx = cConfig.dsConfig.Tables["Notes"].Rows.IndexOf(dr);

                try
                {
                    cConfig.dsConfig.Tables["Notes"].Rows[idx]["Caption"] = txtCaption.Text;
                    cConfig.dsConfig.Tables["Notes"].Rows[idx]["Text"]    = txtNote.Text;
                }
                catch (Exception ex)
                {
                    CommonFunctions.ErrMessage(ex.Message);
                    return;
                }
            }
            else //новая запись
            {
                if ((txtCaption.Text == "") && (txtNote.Text == ""))
                {
                    return;
                }

                try
                {
                    //создаем новую запись
                    DataRow dr = cConfig.dsConfig.Tables["Notes"].NewRow();
                    dr["Caption"] = txtCaption.Text;
                    dr["Text"]    = txtNote.Text;

                    if (CurRow < 0)
                    {
                        //вставляем новую запись вперед
                        cConfig.dsConfig.Tables["Notes"].Rows.InsertAt(dr, 0);
                    }
                    else
                    {
                        //добавляем в конец
                        cConfig.dsConfig.Tables["Notes"].Rows.Add(dr);
                    }

                    //ее индекс и ID будет текущим
                    CurRow = cConfig.dsConfig.Tables["Notes"].Rows.IndexOf(dr);
                    recID  = (int)dr["ID"];
                }
                catch (Exception ex)
                {
                    CommonFunctions.ErrMessage(ex.Message);
                    return;
                }

                if (!cConfig.SaveConfig())
                {
                    CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
                    return;
                }
            }

            isEdit = true;
            CountersUpdate();
        }
Exemplo n.º 26
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            niMain.Icon = XuliOrganizzer.Properties.Resources.Clock1;
            CommonFunctions.globalNI = niMain;

            if (File.Exists(cConfig.ConfigPath + cConfig.ConfigFileName))
            {
                if (!cConfig.LoadConfig())
                {
                    CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
                }
            }

            //загрузка данных
            grdMain.DataSource = cConfig.dsConfig.Tables["Tasks"].DefaultView;

            //поиск по умолчанию скрыт
            mnuFieldNameDSBL.Visible = false;
            mnuFindDown.Visible      = false;
            mnuFindDSBL.Visible      = false;
            mnuFindUp.Visible        = false;
            mtxtFind.Visible         = false;


            //загрузка и установка параметров окна
            bool Maximized = false;

            try
            {
                Maximized = Convert.ToBoolean(cConfig.GetParameter("Main.Maximized", "false"));
            }
            catch { Maximized = false; }

            if (Maximized)
            {
                this.WindowState = FormWindowState.Maximized;
            }
            else
            {
                this.WindowState = FormWindowState.Normal;
                try
                {
                    this.Width  = Convert.ToInt32(cConfig.GetParameter("Main.Width", "640"));
                    this.Height = Convert.ToInt32(cConfig.GetParameter("Main.Height", "453"));
                }
                catch
                {
                    this.Width  = 640;
                    this.Height = 453;
                }
            }


            //запуск задач
            int wn = Convert.ToInt32(cConfig.GetParameter("Global.Notification", "0"));

            Worker.WorkerNotification     = (NotificationType)wn;
            Worker.OnAutoRefreshError    += new cTaskWorker.AutoRefreshError(Worker_OnAutoRefreshError);
            Worker.OnAutorefreshComplete += new cTaskWorker.AutoRefreshComplete(Worker_OnAutorefreshComplete);
            Worker.OnOverdueTaskDetected += new cTaskWorker.OverdueTaskDetected(Worker_OnOverdueTaskDetected);
            Worker.OnStartRunTask        += new cTaskWorker.StartRunTask(Worker_OnStartRunTask);
            Worker.OnStopTask            += new cTaskWorker.StopTask(Worker_OnStopTask);
            Worker.OnCompleteTask        += new cTaskWorker.CompleteTask(Worker_OnCompleteTask);
            Worker.fMain = this;
            mnuTasksStartAll_Click(null, null);
        }
Exemplo n.º 27
0
        private void mnuEditActivate_Click(object sender, EventArgs e)
        {
            if (grdMain.CurrentRow == null)
            {
                return;
            }
            int RecID = (int)grdMain.CurrentRow.Cells["ID"].Value;

            //проверка, не заблокирована ли запись
            if (LockedRecIDs.Contains(RecID))
            {
                CommonFunctions.InfoMessage("Запись заблокирована, так как данное задание выполняется",
                                            "Запись заблокирована");
                return;
            }


            DataRow dr      = cConfig.dsConfig.Tables["Tasks"].Rows.Find(RecID);
            bool    Active  = (bool)dr["Active"];
            bool    stopped = false;

            grdMain_SelectionChanged(null, null);

            //есть  ли задача в списке на выполнение
            if (Worker.IsTaskExist(RecID))
            {
                //есть, значит активна, надо остановить и удалить из списка
                WorkerErrorLevel wol = Worker.RemoveTask(RecID, false);
                showworkererror(wol, "Задача остановлена");
                if (wol != WorkerErrorLevel.OK)
                {
                    return;
                }
                Active  = false;
                stopped = true;
            }
            else //в списке нет
            {
                //меняем активность на противоположную
                Active = !Active;
            }

            //сохранение в БД
            dr["Active"] = Active;
            bool scfg = cConfig.SaveConfig();

            if (!scfg)
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
                return;
            }

            if (Active)                                   //если была активирована
            {
                if (Worker.RunningInCurrentPeriod(RecID)) //должна ли выполняться
                {
                    //надо добавить в список и запустить
                    WorkerErrorLevel wol = Worker.AddTask(RecID);
                    showworkererror(wol, "Задача активирована и запущена");
                }
                else
                {
                    statlblMessages.ForeColor = Color.Black;
                    statlblMessages.Text      = "Задача активирована.";
                }
            }
            else
            {
                if (stopped)
                {
                    statlblMessages.ForeColor = Color.Black;
                    statlblMessages.Text      = "Задача остановлена и деактивирована.";
                }
                else
                {
                    statlblMessages.ForeColor = Color.Black;
                    statlblMessages.Text      = "Задача деактивирована.";
                }
            }
        }
Exemplo n.º 28
0
        private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!ExitFromMenu) //пользователь закрыл форму крестиком, а не вышел из меню
            {
                if (Convert.ToBoolean(cConfig.GetParameter("Global.AskMainBehavior", "true")))
                {
                    //спросить о поведении формы
                    frmMainBeh   fMainBeh = new frmMainBeh();
                    DialogResult Ask      = fMainBeh.ShowDialog();
                    if (Ask == DialogResult.No)
                    {
                        e.Cancel = true;
                        return;
                    }
                }

                //проверить что делать
                FormBehavior MainBehavior = (FormBehavior)Convert.ToInt32(
                    cConfig.GetParameter("Global.MainBehavior", "0"));

                if (MainBehavior == FormBehavior.Hide) //скрыть форму
                {
                    this.Hide();
                    e.Cancel = true;
                }
            }

            bool Maximized = false;

            //если форма минимизирована перед закрытием
            //не сохранять параметры окна
            if (this.WindowState == FormWindowState.Minimized)
            {
                return;
            }

            if (this.WindowState == FormWindowState.Maximized)
            {
                Maximized = true;
            }

            cConfig.SetParameter("Main.Maximized", Maximized.ToString());
            cConfig.SetParameter("Main.Width", this.Width.ToString());
            cConfig.SetParameter("Main.Height", this.Height.ToString());

            //закрытие не отменено - останавливаем задачи
            if (!e.Cancel)
            {
                WorkerErrorLevel wol = Worker.StopAutoRefresh();
                if (wol != WorkerErrorLevel.OK)
                {
                    CommonFunctions.ErrMessage(Worker.TaskErrMessage);
                }
                //LockedRecIDs.Clear();
                //LockedRecIDs = null;
            }

            if (!cConfig.SaveConfig())
            {
                CommonFunctions.ErrMessage(cConfig.ConfigErrMessage);
            }
        }