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());
                }
            }
        }
Exemplo n.º 2
0
 public void BackUp()
 {
     if (!Directorys.IsFileExited())
     {
         db.BackUpDB(Directorys.GetBackupPath());
         RefreshList();
     }
 }
Exemplo n.º 3
0
    private Directorys MakeTree(string root)
    {
        // нужно заполнить дерево. (пока возвращает все.)

        Directorys curDir = new Directorys();

        curDir.path  = root;
        curDir.files = new List <string>();

        curDir.filesRights = new List <string[]>();

        WatchingFileRights wfr = new WatchingFileRights();

        string[] curFiles = Directory.GetFiles(root, "*txt");
        for (int i = 0; i < curFiles.Length; i++)
        {
            if (wfr.FileAllowedForUser(currentUser, curFiles[i]))
            {
                curDir.files.Add(curFiles[i]);
            }

            string[] tmp = wfr.AllowedUserList(curFiles[i]);


            if (tmp != null)
            {
                string[] tmp2 = new string[tmp.Length + 1];
                tmp2[0] = curFiles[i]; for (int a = 0; a < tmp.Length; a++)
                {
                    tmp2[a + 1] = tmp[a];
                }

                // тут проверим доступен ли этот файл текущему пользователю
                if (wfr.FileAllowedForUser(currentUser, tmp2[0]))
                {
                    curDir.filesRights.Add(tmp2);
                }
            }
        }

        string[] curDirs = Directory.GetDirectories(root);

        curDir.subdirectorys = new List <Directorys>();
        for (int i = 0; i < curDirs.Length; i++)
        {
            curDir.subdirectorys.Add(MakeTree(curDirs[i]));
        }


        return(curDir);
    }
Exemplo n.º 4
0
        private void Traverse(DirectoryInfo d)
        {
            //Console.WriteLine($"traversing -> {d.Name}");

            if (d.GetFiles().Any(f => f.Name.Contains(@"packages.config")))
            {
                Directorys.Add(d);
            }

            foreach (var s in d.GetDirectories())
            {
                Traverse(s);
            }
        }
Exemplo n.º 5
0
        private void FillTreeList(Directorys listtree)
        {
            // заполнить List<string> tree из  FileTree files;

            for (int i = 0; i < listtree.subdirectorys.Count; i++)
            {
                tree.Add(listtree.subdirectorys[i].path);
            }


            for (int i = 0; i < listtree.files.Count; i++)
            {
                tree.Add(listtree.files[i]);
            }


            for (int i = 0; i < listtree.subdirectorys.Count; i++)
            {
                FillTreeList(listtree.subdirectorys[i]);
            }
        }