示例#1
0
 /// <summary>
 /// Moves a document from one folder to another
 /// </summary>
 /// <param name="userId">The id of the user whos moving the document</param>
 /// <param name="documentId">The id of the document the user is moving</param>
 /// <param name="newFolderId">The id of the folder the user is moving the document to</param>
 public void MoveDocumentWeb(int userId, int documentId, int newFolderId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var userdocument = from ud in context.Userdocuments
                            where ud.userId == userId && ud.documentId == documentId
                            select ud;
         userdocument.First <Userdocument>().folderId = newFolderId;
         context.SaveChanges();
     }
 }
示例#2
0
 /// <summary>
 /// Adds a folder to the database.
 /// </summary>
 /// <param name="name">The name of the folder</param>
 /// <param name="parentFolderId">The id of the parent folder. Null if it's a root folder.</param>
 public int AddFolder(String name, int parentFolderId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         Folder folder = new Folder();
         folder.name           = name;
         folder.parentFolderId = parentFolderId;
         context.Folders.AddObject(folder);
         context.SaveChanges();
         return(folder.id);
     }
 }
示例#3
0
 /// <summary>
 /// Adds a documentrevision to an already existing document
 /// </summary>
 /// <param name="editorId">The id of the user who made the revision</param>
 /// <param name="documentId">The id of the original document</param>
 /// <param name="content">The xaml + metadata content of the file</param>
 public void AddDocumentRevision(DateTime creationTime, int editorId, int documentId, String filepath)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         Documentrevision documentRevision = new Documentrevision();
         documentRevision.creationTime = creationTime;
         documentRevision.editorId     = editorId;
         documentRevision.documentId   = documentId;
         documentRevision.path         = filepath;
         context.Documentrevisions.AddObject(documentRevision);
         context.SaveChanges();
     }
 }
示例#4
0
 /// <summary>
 /// Adds a documentrevision to an already existing document
 /// </summary>
 /// <param name="editorId">The id of the user who made the revision</param>
 /// <param name="documentId">The id of the original document</param>
 /// <param name="content">The xaml + metadata content of the file</param>
 public void AddDocumentRevision(DateTime creationTime, int editorId, int documentId, String filepath)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         Documentrevision documentRevision = new Documentrevision();
         documentRevision.creationTime = creationTime;
         documentRevision.editorId = editorId;
         documentRevision.documentId = documentId;
         documentRevision.path = filepath;
         context.Documentrevisions.AddObject(documentRevision);
         context.SaveChanges();
     }
 }
示例#5
0
 /// <summary>
 /// Adds a userdocument in the givens users root folder
 /// </summary>
 /// <param name="userId">The id of the user</param>
 /// <param name="documentId">The id of the document</param>
 public void AddUserDocumentInRoot(int userId, int documentId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         User         user         = GetUserById(userId);
         Userdocument userdocument = new Userdocument();
         userdocument.documentId = documentId;
         userdocument.folderId   = user.rootFolderId;
         userdocument.userId     = userId;
         context.Userdocuments.AddObject(userdocument);
         context.SaveChanges();
     }
 }
示例#6
0
        /// <summary>
        /// Adds a reference from a user to a document to the database.
        /// </summary>
        /// <param name="userId">The id of the user</param>
        /// <param name="documentId">The id of the document</param>
        /// <param name="directoryPath">The path of the directory in which the document lies</param>
        public void AddUserDocument(int userId, int documentId, String directoryPath)
        {
            int folderId = GetFolderIdByDirectoryPath(userId, directoryPath);

            using (PieFactoryEntities context = new PieFactoryEntities())
            {
                Userdocument userDocument = new Userdocument();
                userDocument.documentId = documentId;
                userDocument.userId     = userId;
                userDocument.folderId   = folderId;
                context.Userdocuments.AddObject(userDocument);
                context.SaveChanges();
            }
        }
示例#7
0
 /// <summary>
 /// Add a document to the database
 /// </summary>
 /// <param name="name">The name of the document</param>
 /// <param name="userId">The id of the user who created the document</param>
 /// <param name="filepath">The path to the file</param>
 /// <returns>The id of the created document</returns>
 public int AddDocument(String name, int userId, String directoryPath)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         Document document = new Document();
         document.name = name;
         document.creatorId = userId;
         document.creationTime = DateTime.UtcNow;
         document.path = directoryPath;
         context.Documents.AddObject(document);
         context.SaveChanges();
         return document.id;
     }
 }
示例#8
0
        /// <summary>
        /// Alters a userdocument, effectively moving the document from one folder to another
        /// </summary>
        /// <param name="userId">The id of the user</param>
        /// <param name="documentId">The id of the document</param>
        /// <param name="filepath">the path to the document</param>
        public void AlterUserDocument(int userId, int documentId, String filepath)
        {
            int folderId = GetFolderIdByDirectoryPath(userId, filepath);

            using (PieFactoryEntities context = new PieFactoryEntities())
            {
                var userdocuments = from ud in context.Userdocuments
                                    where ud.userId == userId && ud.documentId == documentId
                                    select ud;
                Userdocument userdocument = userdocuments.First <Userdocument>();
                userdocument.folderId = folderId;
                context.SaveChanges();
            }
        }
示例#9
0
 /// <summary>
 /// Add a document to the database
 /// </summary>
 /// <param name="name">The name of the document</param>
 /// <param name="userId">The id of the user who created the document</param>
 /// <param name="filepath">The path to the file</param>
 /// <returns>The id of the created document</returns>
 public int AddDocument(String name, int userId, String directoryPath)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         Document document = new Document();
         document.name         = name;
         document.creatorId    = userId;
         document.creationTime = DateTime.UtcNow;
         document.path         = directoryPath;
         context.Documents.AddObject(document);
         context.SaveChanges();
         return(document.id);
     }
 }
示例#10
0
 /// <summary>
 /// Delete a folder from the database
 /// </summary>
 /// <param name="folderId">The id of the folder to delete</param>
 public void DeleteFolder(int folderId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var folders = from f in context.Folders
                       where f.id == folderId
                       select f;
         if (folders.Count <Folder>() > 0)
         {
             Folder folder = folders.First <Folder>();
             context.Folders.DeleteObject(folder);
             context.SaveChanges();
         }
     }
 }
示例#11
0
 /// <summary>
 /// Delete a users reference to a document
 /// </summary>
 /// <param name="userId">The id of the user</param>
 /// <param name="documentId">The id of the document</param>
 public void DeleteDocumentReference(int userId, int documentId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var userDocuments = from dr in context.Userdocuments
                             where dr.documentId == documentId & dr.userId == userId
                             select dr;
         if (userDocuments.Count <Userdocument>() > 0)
         {
             Userdocument userDocument = userDocuments.First <Userdocument>();
             context.Userdocuments.DeleteObject(userDocument);
             context.SaveChanges();
         }
     }
 }
示例#12
0
 /// <summary>
 /// Delete a document from the database
 /// </summary>
 /// <param name="documentId">The id of the document to delete</param>
 public void DeleteDocument(int documentId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var documents = from d in context.Documents
                         where d.id == documentId
                         select d;
         if (documents.Count <Document>() > 0)
         {
             Document document = documents.First <Document>();
             context.Documents.DeleteObject(document);
             context.SaveChanges();
         }
     }
 }
示例#13
0
 /// <summary>
 /// Adds a user to the database.
 /// </summary>
 /// <param name="email">The email of the user</param>
 /// <param name="password">The encrypted password of the user</param>
 /// <returns>The id of the added user. -1 if a user with the given email already exists</returns>
 public int AddUser(String email, String password)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         User user = new User();
         user.email    = email;
         user.password = password;
         //Add a root folder named "root"
         Folder folder = new Folder();
         folder.name = "root";
         user.Folder = folder;
         context.Users.AddObject(user);
         context.SaveChanges();
         return(user.id);
     }
 }
示例#14
0
        /// <summary>
        /// Removes all data from the database.
        /// </summary>
        public void DeleteAllData()
        {
            using (PieFactoryEntities context = new PieFactoryEntities())
            {
                //Delete all folders
                var folders = context.Folders;
                foreach (Folder f in folders)
                {
                    context.Folders.DeleteObject(f);
                }

                //Delete all users
                var users = context.Users;
                foreach (User u in users)
                {
                    context.Users.DeleteObject(u);
                }

                //Delete all documents
                var documents = context.Documents;
                foreach (Document d in documents)
                {
                    context.Documents.DeleteObject(d);
                }

                //Delete all documentRevision
                var documentRevisions = context.Documentrevisions;
                foreach (Documentrevision d in documentRevisions)
                {
                    context.Documentrevisions.DeleteObject(d);
                }

                //Delete all userDocuments
                var userdocuments = context.Userdocuments;
                foreach (Userdocument ud in userdocuments)
                {
                    context.Userdocuments.DeleteObject(ud);
                }
                context.SaveChanges();
            }
        }
示例#15
0
 /// <summary>
 /// Adds a user to the database.
 /// </summary>
 /// <param name="email">The email of the user</param>
 /// <param name="password">The encrypted password of the user</param>
 /// <returns>The id of the added user. -1 if a user with the given email already exists</returns>
 public int AddUser(String email, String password)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         User user = new User();
         user.email = email;
         user.password = password;
         //Add a root folder named "root"
         Folder folder = new Folder();
         folder.name = "root";
         user.Folder = folder;
         context.Users.AddObject(user);
         context.SaveChanges();
         return user.id;
     }
 }
示例#16
0
 /// <summary>
 /// Adds a userdocument in the givens users root folder
 /// </summary>
 /// <param name="userId">The id of the user</param>
 /// <param name="documentId">The id of the document</param>
 public void AddUserDocumentInRoot(int userId, int documentId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         User user = GetUserById(userId);
         Userdocument userdocument = new Userdocument();
         userdocument.documentId = documentId;
         userdocument.folderId = user.rootFolderId;
         userdocument.userId = userId;
         context.Userdocuments.AddObject(userdocument);
         context.SaveChanges();
     }
 }
示例#17
0
 /// <summary>
 /// Alters a userdocument, effectively moving the document from one folder to another
 /// </summary>
 /// <param name="userId">The id of the user</param>
 /// <param name="documentId">The id of the document</param>
 /// <param name="filepath">the path to the document</param>
 public void AlterUserDocument(int userId, int documentId, String filepath)
 {
     int folderId = GetFolderIdByDirectoryPath(userId, filepath);
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var userdocuments = from ud in context.Userdocuments
                             where ud.userId == userId && ud.documentId == documentId
                             select ud;
         Userdocument userdocument = userdocuments.First<Userdocument>();
         userdocument.folderId = folderId;
         context.SaveChanges();
     }
 }
示例#18
0
        /// <summary>
        /// Removes all data from the database.
        /// </summary>
        public void DeleteAllData()
        {
            using (PieFactoryEntities context = new PieFactoryEntities())
            {
                //Delete all folders
                var folders = context.Folders;
                foreach (Folder f in folders)
                {
                    context.Folders.DeleteObject(f);
                }

                //Delete all users
                var users = context.Users;
                foreach (User u in users)
                {
                    context.Users.DeleteObject(u);
                }

                //Delete all documents
                var documents = context.Documents;
                foreach (Document d in documents)
                {
                    context.Documents.DeleteObject(d);
                }

                //Delete all documentRevision
                var documentRevisions = context.Documentrevisions;
                foreach (Documentrevision d in documentRevisions)
                {
                    context.Documentrevisions.DeleteObject(d);
                }

                //Delete all userDocuments
                var userdocuments = context.Userdocuments;
                foreach (Userdocument ud in userdocuments)
                {
                    context.Userdocuments.DeleteObject(ud);
                }
                context.SaveChanges();
            }
        }
示例#19
0
 /// <summary>
 /// Delete a document from the database
 /// </summary>
 /// <param name="documentId">The id of the document to delete</param>
 public void DeleteDocument(int documentId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var documents = from d in context.Documents
                         where d.id == documentId
                         select d;
         if (documents.Count<Document>() > 0)
         {
             Document document = documents.First<Document>();
             context.Documents.DeleteObject(document);
             context.SaveChanges();
         }
     }
 }
示例#20
0
 /// <summary>
 /// Delete a users reference to a document
 /// </summary>
 /// <param name="userId">The id of the user</param>
 /// <param name="documentId">The id of the document</param>
 public void DeleteDocumentReference(int userId, int documentId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var userDocuments = from dr in context.Userdocuments
                             where dr.documentId == documentId & dr.userId == userId
                             select dr;
         if (userDocuments.Count<Userdocument>() > 0)
         {
             Userdocument userDocument = userDocuments.First<Userdocument>();
             context.Userdocuments.DeleteObject(userDocument);
             context.SaveChanges();
         }
     }
 }
示例#21
0
 /// <summary>
 /// Delete a folder from the database
 /// </summary>
 /// <param name="folderId">The id of the folder to delete</param>
 public void DeleteFolder(int folderId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var folders = from f in context.Folders
                       where f.id == folderId
                       select f;
         if (folders.Count<Folder>() > 0)
         {
             Folder folder = folders.First<Folder>();
             context.Folders.DeleteObject(folder);
             context.SaveChanges();
         }
     }
 }
示例#22
0
 /// <summary>
 /// Moves a document from one folder to another
 /// </summary>
 /// <param name="userId">The id of the user whos moving the document</param>
 /// <param name="documentId">The id of the document the user is moving</param>
 /// <param name="newFolderId">The id of the folder the user is moving the document to</param>
 public void MoveDocumentWeb(int userId, int documentId, int newFolderId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         var userdocument = from ud in context.Userdocuments
                            where ud.userId == userId && ud.documentId == documentId
                            select ud;
         userdocument.First<Userdocument>().folderId = newFolderId;
         context.SaveChanges();
     }
 }
示例#23
0
 /// <summary>
 /// Adds a folder to the database.
 /// </summary>
 /// <param name="name">The name of the folder</param>
 /// <param name="parentFolderId">The id of the parent folder. Null if it's a root folder.</param>
 public int AddFolder(String name, int parentFolderId)
 {
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         Folder folder = new Folder();
         folder.name = name;
         folder.parentFolderId = parentFolderId;
         context.Folders.AddObject(folder);
         context.SaveChanges();
         return folder.id;
     }
 }
示例#24
0
 /// <summary>
 /// Adds a reference from a user to a document to the database.
 /// </summary>
 /// <param name="userId">The id of the user</param>
 /// <param name="documentId">The id of the document</param>
 /// <param name="directoryPath">The path of the directory in which the document lies</param>
 public void AddUserDocument(int userId, int documentId, String directoryPath)
 {
     int folderId = GetFolderIdByDirectoryPath(userId, directoryPath);
     using (PieFactoryEntities context = new PieFactoryEntities())
     {
         Userdocument userDocument = new Userdocument();
         userDocument.documentId = documentId;
         userDocument.userId = userId;
         userDocument.folderId = folderId;
         context.Userdocuments.AddObject(userDocument);
         context.SaveChanges();
     }
 }