Пример #1
0
        private static void ClearDatabaseDocuments(IItemContainer parent, Container container = Container.Folder)
        {
            List <Document> documentsContainer = new List <Document>();

            using (var dbContext = new sliceofpieEntities2()) {
                IEnumerable <Document> documents;
                if (container == Container.Project)
                {
                    documents = from document in dbContext.Documents
                                where document.ProjectId == parent.Id
                                select document;
                }
                else
                {
                    documents = from document in dbContext.Documents
                                where document.FolderId == parent.Id
                                select document;
                }
                foreach (Document document in documents)
                {
                    documentsContainer.Add(document);
                }
            }
            foreach (Document document in documentsContainer)
            {
                ClearDatabaseRevisions(document);
                using (var dbContext = new sliceofpieEntities2()) {
                    var documents = from dbDocument in dbContext.Documents
                                    where dbDocument.Id == document.Id
                                    select dbDocument;
                    dbContext.Documents.DeleteObject(documents.First());
                    dbContext.SaveChanges();
                }
            }
        }
Пример #2
0
        public void TestProjectShare()
        {
            LocalFileModel model = new LocalFileModel();

            IEnumerable <Project> projects = model.GetProjects("local");
            Project project = projects.First();

            model.UploadStructure("*****@*****.**");
            model.FindProjects();
            projects = model.GetProjects("local");
            project  = projects.First();

            Assert.AreEqual(1, projects.Count());

            string[]     emails  = { "*****@*****.**" };
            IAsyncResult shareAr = controller.BeginShareProject(project, emails, null, null);

            controller.EndShareProject(shareAr);

            using (var dbContext = new sliceofpieEntities2()) {
                var projectUsers = from projectUser in dbContext.ProjectUsers
                                   where projectUser.ProjectId == project.Id && projectUser.UserEmail == "*****@*****.**"
                                   select projectUser;
                Assert.AreEqual(1, projectUsers.Count());
            }
        }
Пример #3
0
 private static void ClearDatabaseDocuments(IItemContainer parent, Container container = Container.Folder)
 {
     List<Document> documentsContainer = new List<Document>();
     using (var dbContext = new sliceofpieEntities2()) {
         IEnumerable<Document> documents;
         if (container == Container.Project) {
             documents = from document in dbContext.Documents
                         where document.ProjectId == parent.Id
                         select document;
         } else {
             documents = from document in dbContext.Documents
                         where document.FolderId == parent.Id
                         select document;
         }
         foreach (Document document in documents) {
             documentsContainer.Add(document);
         }
     }
     foreach (Document document in documentsContainer) {
         ClearDatabaseRevisions(document);
         using (var dbContext = new sliceofpieEntities2()) {
             var documents = from dbDocument in dbContext.Documents
                             where dbDocument.Id == document.Id
                             select dbDocument;
             dbContext.Documents.DeleteObject(documents.First());
             dbContext.SaveChanges();
         }
     }
 }
Пример #4
0
        public void TestShareProjectSuccess()
        {
            TestHelper.ClearFolder(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SliceOfPie"));

            LocalFileModel model = new LocalFileModel();

            IEnumerable <Project> projects = model.GetProjects("local");
            Project project = projects.First();

            model.UploadStructure("*****@*****.**");
            model.FindProjects();
            projects = model.GetProjects("local");
            project  = projects.First();

            Assert.AreEqual(1, projects.Count());

            userModel.ShareProject(project.Id, "*****@*****.**");

            using (var dbContext = new sliceofpieEntities2()) {
                var projectUsers = from projectUser in dbContext.ProjectUsers
                                   where projectUser.ProjectId == project.Id && projectUser.UserEmail == "*****@*****.**"
                                   select projectUser;
                Assert.AreEqual(1, projectUsers.Count());
            }
        }
Пример #5
0
 private static void ClearDatabaseRevisions(Document document)
 {
     using (var dbContext = new sliceofpieEntities2()) {
         var revisions = from revision in dbContext.Revisions
                         where revision.DocumentId == document.Id
                         select revision;
         foreach (Revision revision in revisions)
         {
             dbContext.Revisions.DeleteObject(revision);
         }
         dbContext.SaveChanges();
     }
 }
Пример #6
0
        public static void ClearDatabase(string email)
        {
            List <Project> projectsContainer = new List <Project>();

            using (var dbContext = new sliceofpieEntities2()) {
                var projects = from projectUser in dbContext.ProjectUsers
                               from project in dbContext.Projects
                               where projectUser.UserEmail == email && projectUser.ProjectId == project.Id
                               select project;
                foreach (Project project in projects)
                {
                    projectsContainer.Add(project);
                }
            }
            List <ProjectUser> projectUsersContainer = new List <ProjectUser>();

            foreach (Project project in projectsContainer)
            {
                using (var dbContext = new sliceofpieEntities2()) {
                    var projectUsers = from dbProjectUser in dbContext.ProjectUsers
                                       where dbProjectUser.ProjectId == project.Id
                                       select dbProjectUser;
                    foreach (ProjectUser projectUser in projectUsers)
                    {
                        dbContext.ProjectUsers.DeleteObject(projectUser);
                    }
                    dbContext.SaveChanges();
                }
            }
            foreach (Project project in projectsContainer)
            {
                ClearDatabaseFolders(project, Container.Project);
                ClearDatabaseDocuments(project, Container.Project);
                using (var dbContext = new sliceofpieEntities2()) {
                    var projects = from dbProject in dbContext.Projects
                                   where dbProject.Id == project.Id
                                   select dbProject;
                    dbContext.Projects.DeleteObject(projects.First());
                    dbContext.SaveChanges();
                }
            }
        }
Пример #7
0
        private static void ClearDatabaseFolders(IItemContainer parent, Container container = Container.Folder)
        {
            List <Folder> foldersContainer = new List <Folder>();

            using (var dbContext = new sliceofpieEntities2()) {
                IEnumerable <Folder> folders;
                if (container == Container.Project)
                {
                    folders = from folder in dbContext.Folders
                              where folder.ProjectId == parent.Id
                              select folder;
                }
                else
                {
                    folders = from folder in dbContext.Folders
                              where folder.FolderId == parent.Id
                              select folder;
                }
                foreach (Folder folder in folders)
                {
                    folder.Parent = parent;
                    foldersContainer.Add(folder);
                }
            }
            foreach (Folder folder in foldersContainer)
            {
                ClearDatabaseFolders(folder);
                ClearDatabaseDocuments(folder);
                using (var dbContext = new sliceofpieEntities2()) {
                    var folders = from dbFolder in dbContext.Folders
                                  where dbFolder.Id == folder.Id
                                  select dbFolder;
                    dbContext.Folders.DeleteObject(folders.First());
                    dbContext.SaveChanges();
                }
            }
        }
Пример #8
0
 public static void ClearDatabase(string email)
 {
     List<Project> projectsContainer = new List<Project>();
     using (var dbContext = new sliceofpieEntities2()) {
         var projects = from projectUser in dbContext.ProjectUsers
                        from project in dbContext.Projects
                        where projectUser.UserEmail == email && projectUser.ProjectId == project.Id
                        select project;
         foreach (Project project in projects) {
             projectsContainer.Add(project);
         }
     }
     List<ProjectUser> projectUsersContainer = new List<ProjectUser>();
     foreach (Project project in projectsContainer) {
         using (var dbContext = new sliceofpieEntities2()) {
             var projectUsers = from dbProjectUser in dbContext.ProjectUsers
                                where dbProjectUser.ProjectId == project.Id
                                select dbProjectUser;
             foreach (ProjectUser projectUser in projectUsers) {
                 dbContext.ProjectUsers.DeleteObject(projectUser);
             }
             dbContext.SaveChanges();
         }
     }
     foreach (Project project in projectsContainer) {
         ClearDatabaseFolders(project, Container.Project);
         ClearDatabaseDocuments(project, Container.Project);
         using (var dbContext = new sliceofpieEntities2()) {
             var projects = from dbProject in dbContext.Projects
                            where dbProject.Id == project.Id
                            select dbProject;
             dbContext.Projects.DeleteObject(projects.First());
             dbContext.SaveChanges();
         }
     }
 }
Пример #9
0
 private static void ClearDatabaseFolders(IItemContainer parent, Container container = Container.Folder)
 {
     List<Folder> foldersContainer = new List<Folder>();
     using (var dbContext = new sliceofpieEntities2()) {
         IEnumerable<Folder> folders;
         if (container == Container.Project) {
             folders = from folder in dbContext.Folders
                       where folder.ProjectId == parent.Id
                       select folder;
         } else {
             folders = from folder in dbContext.Folders
                       where folder.FolderId == parent.Id
                       select folder;
         }
         foreach (Folder folder in folders) {
             folder.Parent = parent;
             foldersContainer.Add(folder);
         }
     }
     foreach (Folder folder in foldersContainer) {
         ClearDatabaseFolders(folder);
         ClearDatabaseDocuments(folder);
         using (var dbContext = new sliceofpieEntities2()) {
             var folders = from dbFolder in dbContext.Folders
                           where dbFolder.Id == folder.Id
                           select dbFolder;
             dbContext.Folders.DeleteObject(folders.First());
             dbContext.SaveChanges();
         }
     }
 }
Пример #10
0
 private static void ClearDatabaseRevisions(Document document)
 {
     using (var dbContext = new sliceofpieEntities2()) {
         var revisions = from revision in dbContext.Revisions
                         where revision.DocumentId == document.Id
                         select revision;
         foreach (Revision revision in revisions) {
             dbContext.Revisions.DeleteObject(revision);
         }
         dbContext.SaveChanges();
     }
 }
Пример #11
0
        public void TestShareProjectSuccess()
        {
            TestHelper.ClearFolder(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SliceOfPie"));

            LocalFileModel model = new LocalFileModel();

            IEnumerable<Project> projects = model.GetProjects("local");
            Project project = projects.First();

            model.UploadStructure("*****@*****.**");
            model.FindProjects();
            projects = model.GetProjects("local");
            project = projects.First();

            Assert.AreEqual(1, projects.Count());

            userModel.ShareProject(project.Id, "*****@*****.**");

            using (var dbContext = new sliceofpieEntities2()) {
                var projectUsers = from projectUser in dbContext.ProjectUsers
                                   where projectUser.ProjectId == project.Id && projectUser.UserEmail == "*****@*****.**"
                                   select projectUser;
                Assert.AreEqual(1, projectUsers.Count());
            }
        }