Пример #1
0
        /// <summary>
        /// Allows the owner of the document to share the
        /// document with other users.
        /// </summary>
        /// <param name="file">File path of file</param>
        /// <param name="perm">Enumerated permition</param>
        /// <param name="users">List of users to share with.</param>
        public void ShareDocument(User currentUser, Document doc, Permission.Permissions perm, string filename, params User[] users)
        {
            Document sharedDocument = new Document(doc.owner, doc.path + "/" + filename, perm);
            string   pathToFile     = "root/" + currentUser.username + "/" + filename;

            //Document sharedDoc = new Document(currentUser, doc.content, pathToFile, Permission.Permissions.Edit);

            foreach (User i in users)
            {
                //int someID = dbCon.GetDocument(currentUser.username, "root/myuser/" + filename);
                int id = dbCon.GetDocument(currentUser.username, pathToFile);
                dbCon.InsertUserDocument(i, id, Permission.Permissions.Edit);
                dbCon.InsertUserDocument(currentUser, id, Permission.Permissions.Edit);

                //dbCon.InsertUserDocument(i, 243, Permission.Permissions.Edit);
                if (i.documents.Contains(doc) || i.documents.Contains(sharedDocument))
                {
                    Console.WriteLine("Document does already exist");
                }
                else if (!dbCon.CheckForUserDocument(i, doc))
                {
                    //int newID = dbCon.GetDocument(currentUser.username, doc.path);

                    //dbCon.InsertUserDocument(i, newID, Permission.Permissions.Edit);
                }//SaveDocument(currentUser, doc, doc.path + "/" + filename);

                //Console.WriteLine(i.documents.Contains(sharedDocument));
            }
        }
Пример #2
0
 public Document(User owner, string file, Permission.Permissions perm)
 {
     this.owner       = owner;
     this.permission  = permission;
     this.lastChanged = DateTime.Now;
     // TODO file
 }
Пример #3
0
 // Primary
 public Document(User owner, string content, string path, Permission.Permissions perm)
 {
     this.permission  = perm;
     this.owner       = owner;
     this.content     = content;
     this.lastChanged = DateTime.Now;
 }
Пример #4
0
        /// <summary>
        /// Creates a new document.
        /// Adds it to the users list of documents.
        /// </summary>
        /// <param name="owner">The owner of the document</param>
        /// <param name="title">The title of the document.</param>
        /// <returns>The newly created document.</returns>
        public Document NewDocument(User owner, string content, Permission.Permissions perm)
        {
            // NOTE!!!
            Document doc = new Document(owner, content, perm);

            AddDocToList(owner, doc);
            return(doc);
        }
Пример #5
0
        /// <summary>
        /// Updates a permission in an already existing userdocument relation
        /// </summary>

        /// <param name="newPerm">new permission to the userdocument relation</param>
        public void UpdatePermission(User user, Document doc, Permission.Permissions newPerm)
        {
            string query = "UPDATE userdocument SET permission='" + newPerm + "' WHERE userID='" + user.id + "' AND documentID='" + doc.documentId + "'";

            ExecuteQuery(query);
        }
Пример #6
0
        /// <summary>
        /// Inserts a userdocument in the database
        /// </summary>
        /// <param name="user">user "end" of userdocument relation</param>
        /// <param name="docID">document "end" of userdocument relation</param>
        /// <param name="permission">relation type, what level of authentication the user has to the specified document</param>
        public void InsertUserDocument(User user, int docID, Permission.Permissions permission)
        {
            string query = "INSERT INTO userdocument (userID, documentID, permission) VALUES('" + user.id + "', '" + docID + "', '" + permission.ToString() + "')";

            ExecuteQuery(query);
        }
Пример #7
0
        /// <summary>
        /// Creates a new document.
        /// </summary>
        /// <param name="owner">The owner of the document</param>
        /// <returns>The newly created document.</returns>
        public Document NewDocument(User owner, string content, string path, Permission.Permissions perm)
        {
            Document doc = engine.userhandler.docHandler.NewDocument(owner, content, perm);

            return(doc);
        }
Пример #8
0
        //public List<Document> GetAllSharedDocuments(User user)
        //{
        //    return null;
        //}

        public void ShareDocument(User currentUser, Document doc, Permission.Permissions perm, string filename, params User[] users)
        {
            engine.userhandler.docHandler.ShareDocument(currentUser, doc, perm, filename, users);
        }