Exemplo n.º 1
0
    private void DeleteFile(string file)
    {
        System.IO.File.Delete(file);
        // вместе с удалением файла. нужно удалить права доступа
        WatchingFileRights wfr = new WatchingFileRights();

        wfr.Remove(file);
    }
Exemplo n.º 2
0
    public IObjects Get(IObjects request)
    {
        CreateFileRequest t = (CreateFileRequest)request;

        CreateNewFile(t.newfile);
        // создали файл. нужо добавить права в файл прав
        WatchingFileRights wfr = new WatchingFileRights();

        wfr.Add(t.newfile, t.newrights);

        return(t);
    }
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
    public IObjects Get(IObjects request)
    {
        FileSaveRequest t = (FileSaveRequest)request;

        // проверим есть ли права у этого пользователя на запись в эту папку.
        WatchingFileRights wfr = new WatchingFileRights();

        if (wfr.FileAllowedForUser(t.User, t.ReqPath))
        {
            SaveFile(t.ReqPath, t.FileBuffer);
        }

        return(null);
    }
Exemplo n.º 5
0
    public IObjects Get(IObjects request)
    {
        DeleteFileRequest t = (DeleteFileRequest)request;

        if (t.deletefile.Contains(".txt"))
        {
            WatchingFileRights wfr = new WatchingFileRights();

            if (wfr.FileAllowedForUser(t.User, t.deletefile))
            {
                DeleteFile(t.deletefile);
            }
        }
        else
        {
            DeleteDirectory(t.deletefile);
        }


        return(t);
    }