/// <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)); } }
public Document(User owner, string file, Permission.Permissions perm) { this.owner = owner; this.permission = permission; this.lastChanged = DateTime.Now; // TODO file }
// 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; }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
//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); }