Exemplo n.º 1
0
        /// <summary>
        /// Xảy ra khi công việc hoàn thành
        /// </summary>
        /// <param name="Data">Dữ liệu đầu vào</param>
        private void CallBack(object Data, WorkExcuter.Work work)
        {
            DBDataContext db = new DBDataContext();

            if (!Directorys.IsFileExited())
            {
                db.BackUpDB(Directorys.GetBackupPath());
            }
            //Thay thế Work đã được thực thi bằng work mới nếu repeat true
            if (_Repeat)
            {
                for (int i = 0; i < 7; i++)
                {
                    if (Works[i] == work.WorkID)
                    {
                        DateTime NextTime = work.Time.AddDays(7);
                        Works[i] = WorkExcuter.WorksManager.GetNewWork(NextTime, new WorkExcuter.CallBackDlg(CallBack),
                                                                       new WorkExcuter.CallBackDlg(OnNotExcuted), NextTime, false).WorkID;
                    }
                }
            }
            else // Không repeat, chạy xong rồi thì nhờ class thông báo rằng mình đã xong việc
            {
                if (AScheduleDone != null)
                {
                    AScheduleDone(this, new EventArgs());
                }
            }
        }