示例#1
0
        private static void deleteProject(string projectIDstring = null, string projectName = null)
        {
            AccessService dataService = new AccessService();
            Guid projectID = new Guid();
            if (string.IsNullOrEmpty(projectIDstring) )
            {
                projectID = dataService.GetProjectIDbyName(projectName);
            }
            else
            {
                try
                {
                    projectID = new Guid(projectIDstring);
                }
                catch (Exception)
                {
                    Console.WriteLine("Problem creating Guid, delete has failed");
                    return;
                }
            }

            if (projectID == Guid.Empty)
            {
                Console.WriteLine("Problem getting ID for " + projectName);
                return;
            }

            projectName = dataService.GetProjectNameForID(projectID);
            int updatesRemoved = 0;
            var context = createContext();
            List<StatusUpdate> updatesToRemove = context.StatusUpdates.Where(u => u.ProjectID == projectID).ToList();
            updatesRemoved = updatesToRemove.Count;
            context.StatusUpdates.RemoveRange(updatesToRemove);
            context.SaveChanges();
            Console.WriteLine("Removed " + updatesRemoved + " updates from Status Update Table");

            List<ProjectPhase> projectPhases = context.ProjectPhases.Where(p => p.ProjectID == projectID).ToList();

            int phaseEntryCount = projectPhases.Count(p => p.ProjectID == projectID);
            context.ProjectPhases.RemoveRange(projectPhases);
            context.SaveChanges();
            Console.WriteLine("Removed " + phaseEntryCount + " ProjectPhase entries");

            Project projectToDelete = context.Projects.FirstOrDefault(p => p.ProjectID == projectID);
            context.Projects.Remove(projectToDelete);
            context.SaveChanges();
            Console.WriteLine("Project " + projectName + " with ID=" + projectID + " is removed");
        
        }
        public void GetProjectIDbyNameTest()
        {
            var dataAccess = new AccessService();
            // Grab a list of all the projects in the database
            List<Project> allProjects = dataAccess.GetAllProjectNames();
            if (allProjects.Count != 0)
            {
                // Pick a random project and get the ID and the (correct) project name
                Random random = new Random();
                int randomNumber = random.Next(0, allProjects.Count);
                Guid randomProjectID = allProjects[randomNumber].ProjectID;
                string randomProjectName = allProjects[randomNumber].ProjectName;

                // Using the ID, use the function that we are testing to retrieve the projectname
                Guid checkThisID = dataAccess.GetProjectIDbyName(randomProjectName);

                // Check if it is correct. boom.
                Assert.AreEqual(checkThisID, randomProjectID);
            }
            else
            {
                Assert.Inconclusive("Database might be empty, try rerunning with data");
            }
        }
        public void DeleteProjectTest()
        {
            AccessService dbService = new AccessService();
            //var projectUpdates = dbService.GetProjectUpdates("6a8a7e56-e9ac-4385-a8be-5be702c1f2e6");
            UpdatePackage package = new UpdatePackage();
            package.ProjectName = "Test Project";
            package.Subject = "Deployment";
            package.Body = "Environment:br549|Jimmy, toloose";

            package.Updates.Add("verticalID", "3");
            package.Updates.Add("Environment", "br549");
            package.Updates.Add("Author", "Samantha");
            package.Updates.Add("Manager", "Bocephus");

            //__Adding this package should create a new Project and return the ProjectID as string
            string stId = dbService.RecordUpdatePackage(package);
            Assert.IsFalse(string.IsNullOrEmpty(stId));

            Guid projectID = Guid.Parse(stId);
            Assert.IsFalse(projectID == Guid.Empty);

            Guid recordedId = dbService.GetProjectIDbyName(package.ProjectName);
            Assert.AreEqual(projectID, recordedId);
            // This is the actual test - let's see if it actually deletes the project
            dbService.DeleteProject(projectID);

            // When we look for updates, it should be null or empty.
            // We will not test this part because the code crashes if you try and
            // delete a project that does not exist and we are in code freeze.
            // Assert.IsNull(dbService.GetAllUpdatesForProject(projectID.ToString()));
        }
        public void RecordUpdatePackageTest()
        {
            AccessService dbService = new AccessService();
            //var projectUpdates = dbService.GetProjectUpdates("6a8a7e56-e9ac-4385-a8be-5be702c1f2e6");
            UpdatePackage package = new UpdatePackage();
            package.ProjectName = "Test Project";
            package.Subject = "Deployment";
            package.Body = "Environment:br549|Jimmy, toloose";

            package.Updates.Add("verticalID", "3");
            package.Updates.Add("Environment", "br549");
            package.Updates.Add("Author", "Samantha");
            package.Updates.Add("Manager", "Bocephus");

            //__Adding this package should create a new Project and return the ProjectID as string
            string stId = dbService.RecordUpdatePackage(package);
            Assert.IsFalse(string.IsNullOrEmpty(stId));

            Guid projectID = Guid.Parse(stId);
            Assert.IsFalse(projectID == Guid.Empty);

            Guid recordedId = dbService.GetProjectIDbyName(package.ProjectName);
            Assert.AreEqual(projectID, recordedId);



            dbService.DeleteProject(projectID);
        }