Exemplo n.º 1
0
        public void I_cannot_add_more_participants_than_max_participants()
        {
            Project project = new Project {
                Title           = "My Testproject",
                Description     = "Some description",
                MaxParticipants = 1,
                Start           = new DateTime(2020, 1, 3),
                End             = new DateTime(2020, 1, 1)
            };
            var participant1 = new Participant {
                Name     = "Hans Mayer",
                Birthday = new DateTime(1978, 5, 23),
                Email    = "*****@*****.**",
                Phone    = "0 7464 564 42"
            };
            var participant2 = new Participant {
                Name     = "Peter Hansen",
                Birthday = new DateTime(1983, 1, 2),
            };

            project.Add(participant1);

            Action addSecondParticipant = () => project.Add(participant2);

            addSecondParticipant.Should().Throw <CapacityReachedException>();
        }
Exemplo n.º 2
0
        public void I_cannot_add_more_participants_than_max_participants_withBuilders()
        {
            Project project = ProjectBuilder.New().With(p => p.MaxParticipants = 1);

            project.Add(ParticipantBuilder.New());

            Action addSecondParticipant = () => project.Add(ParticipantBuilder.New());

            addSecondParticipant.Should().Throw <CapacityReachedException>();
        }
Exemplo n.º 3
0
            /// <summary>
            /// Opens a new-source dialog
            /// </summary>
            public static bool AddNewSourceToProject(Project Project, string RelativeDir)
            {
                var sdlg = new NewSrcDlg();

                if (sdlg.ShowDialog().Value)
                {
                    var file    = (String.IsNullOrEmpty(RelativeDir) ? "" : (RelativeDir + "\\")) + sdlg.FileName;
                    var absFile = Project.BaseDirectory + "\\" + file;

                    if (File.Exists(absFile))
                    {
                        return(false);
                    }

                    if (Project.Add(file) != null)
                    {
                        // Set standard encoding to UTF8
                        File.WriteAllText(absFile, "", Encoding.UTF8);
                        Project.Save();
                        Instance.UpdateGUI();
                        return(true);
                    }
                }
                return(false);
            }
Exemplo n.º 4
0
            public static void AddExistingSourceToProject(Project Project, string RelativeDir, params string[] Files)
            {
                var absPath = (Project.BaseDirectory + "\\" + RelativeDir).Trim('\\');

                foreach (var FileName in Files)
                {
                    /*
                     * - Try to add the new file; if successful:
                     * - Physically copy the file if it's not in the target directory
                     */
                    var newFile = absPath + "\\" + Path.GetFileName(FileName);

                    if (Project.Add(newFile) != null)
                    {
                        try
                        {
                            if (Path.GetDirectoryName(FileName) != absPath)
                            {
                                File.Copy(FileName, newFile, true);
                            }
                        }
                        catch (Exception ex) { ErrorLogger.Log(ex); }
                    }
                }
                if (Project.Save())
                {
                    Instance.UpdateGUI();
                }
                ;
            }
        public void SeedInitialData()
        {
            User testUser1 = new User
            {
                FirstName = "Test",
                LastName  = "User1",
                Email     = "*****@*****.**",
            };

            User.Add(testUser1);
            User testUser2 = new User
            {
                FirstName = "Test",
                LastName  = "User2",
                Email     = "*****@*****.**"
            };

            User.Add(testUser2);

            Project testProject1 = new Project {
                Name = "TestProject1", CreatedOn = DateTime.Now, Detail = "This is Test project 1"
            };
            Project testProject2 = new Project {
                Name = "TestProject2", CreatedOn = DateTime.Now, Detail = "This is Test project 2"
            };

            Project.Add(testProject1);
            Project.Add(testProject2);
            this.SaveChanges();
        }
Exemplo n.º 6
0
        public async void SaveAsync <T>(T a) where T : class
        {
            if (typeof(T) == typeof(Models.Backlog))
            {
                Backlog.Add(a as Models.Backlog);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.Project))
            {
                Project.Add(a as Models.Project);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.Sprint))
            {
                Sprint.Add(a as Models.Sprint);
                await SaveChangesAsync();
            }

            else if (typeof(T) == typeof(Models.Step))
            {
                Step.Add(a as Models.Step);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.Task))
            {
                Task.Add(a as Models.Task);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.User))
            {
                User.Add(a as Models.User);
                await SaveChangesAsync();
            }
        }
Exemplo n.º 7
0
        private List <ProjectItem> CreateProjectItems([NotNull] Project project, [NotNull] List <BaseTreeViewItem> items)
        {
            Debug.ArgumentNotNull(project, nameof(project));
            Debug.ArgumentNotNull(items, nameof(items));

            var result = new List <ProjectItem>();

            foreach (var item in items)
            {
                var fileTreeViewItem = item as FileTreeViewItem;
                if (fileTreeViewItem == null)
                {
                    continue;
                }

                if (fileTreeViewItem.FileUri.IsFolder)
                {
                    continue;
                }

                var projectItem = CreateProjectItem(project, fileTreeViewItem);
                if (projectItem == null)
                {
                    continue;
                }

                result.Add(projectItem);
                project.Add(projectItem);
            }

            return(result);
        }
Exemplo n.º 8
0
        public IActionResult Create(ProjectViewModel newProject)
        {
            if (_uid == null)
            {
                return(RedirectToAction("Login", "Home"));
            }
            if (ModelState.IsValid)
            {
                if (!AreImagesValid(newProject.Imgs))
                {
                    return(View());
                }

                Project project = new Project();
                project.Add(newProject);

                dbContext.Projects.Add(project);
                dbContext.SaveChanges();

                if (newProject.Imgs != null && newProject.Imgs.Count > 0)
                {
                    CreateProjectImgRows(newProject.Imgs, project.ProjectId);
                }
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Exemplo n.º 9
0
        private static void AddItemEmptyDiagramOnClick(object sender, EventArgs eventArgs)
        {
            ToolStripItem menuItem = ( ToolStripItem )sender;
            Project       project  = (( ProjectNode )menuItem.OwnerItem.Owner.Tag).Project;

            project.Add(new Diagram(Settings.Default.GetDefaultLanguage( )));
        }
Exemplo n.º 10
0
    void AddAssembly(
        string assemblyFileName,
        string?configFileName)
    {
        if (!FileExists(assemblyFileName))
        {
            throw new ArgumentException($"assembly not found: {assemblyFileName}");
        }
        if (configFileName != null && !FileExists(configFileName))
        {
            throw new ArgumentException($"config file not found: {configFileName}");
        }

        var targetFramework = AssemblyUtility.GetTargetFramework(assemblyFileName);
        var projectAssembly = new XunitProjectAssembly(Project)
        {
            AssemblyFileName = GetFullPath(assemblyFileName),
            ConfigFileName   = GetFullPath(configFileName),
            TargetFramework  = targetFramework
        };

        ConfigReader.Load(projectAssembly.Configuration, projectAssembly.AssemblyFileName, projectAssembly.ConfigFileName);

        Project.Add(projectAssembly);
    }
Exemplo n.º 11
0
        public ProjectView()
        {
            images            = new ImageList();
            images.ColorDepth = ColorDepth.Depth32Bit;
            images.ImageSize  = new Size(16, 16);
            images.Images.Add(Properties.Resources.ico_project);
            images.Images.Add(Properties.Resources.ico_group);
            images.Images.Add(Properties.Resources.ico_pattern);

            ImageList = images;

            var project = new Project();

            project.Name = "New Project";

            var group = new Group();

            group.Name = "New Group";

            var pattern = Pattern.FromString("E9 ? ? ? ?");

            group.Add(pattern);
            project.Add(group);

            Project = project;
        }
Exemplo n.º 12
0
        public void Add_AddThreeProjects_ProjectsCountEqualsThree()
        {
            Project.Add("Test Project 1");
            Project.Add("Test Project 2");
            Project.Add("Test Project 3");

            Assert.AreEqual(3, Project.Count);
        }
Exemplo n.º 13
0
        private static void newUseCaseDiagram_Click(object sender, EventArgs e)
        {
            ToolStripItem menuItem = (ToolStripItem)sender;
            Project       project  = ((ProjectNode)menuItem.OwnerItem.Owner.Tag).Project;

            IDiagram diagram = new UseCaseDiagram();

            project.Add(diagram);
        }
Exemplo n.º 14
0
        private void AddEmptyDiagram()
        {
            TreeNode parent = Parent;

            this.Delete();
            Diagram diagram = new Diagram(Settings.Default.GetDefaultLanguage());

            project.Add(diagram);
        }
Exemplo n.º 15
0
        public void AttachToProject_AttachToNullProjectForNotAttachedTask_NothingHappens()
        {
            Task task1 = Task.AddOnDate("2020/12/30 test task 1", new DateTime(2020, 12, 30));

            Project p1 = Project.Add("Test project 1");

            Task.AttachToProject(task1, null);
            Assert.IsNull(task1.Project);
        }
Exemplo n.º 16
0
        private void AddEmptyDiagram()
        {
            var parent = Parent;

            Delete();
            var diagram = new Diagram(Settings.Default.GetDefaultLanguage());

            project.Add(diagram);
        }
Exemplo n.º 17
0
        public static Project <IProjectItem> CreateTestData()
        {
            // Creating the contacts
            IContact firstContact =
                new ContactImpl("Dennis", "Moore", "Managing Director", "Highway Man, LTD");
            IContact secondContact =
                new ContactImpl("Joseph", "Mongolfier", "High Flyer", "Ligher than Air Productions");
            IContact thirdContact =
                new ContactImpl("Erik", "Njoll", "Nomad without Portfolio", "Nordik Trek Inc.");
            IContact fourthContact =
                new ContactImpl("Lemming", "", "Principal Investigator", "BDA");

            // Creating the project
            var project =
                new Project <IProjectItem>("IslandParadise", "Acquire a personal island paradise");
            var firstDeliverable =
                new Deliverable("Island Paradise", "", firstContact);
            var firstWorkTask =
                new WorkTask <IProjectItem>("Fortune", "Acquire a small fortune", fourthContact, 11.0);
            var secondWorkTask =
                new WorkTask <IProjectItem>("Isle", "Locate an island for sale", secondContact, 7.5);
            var thirdTask =
                new WorkTask <IProjectItem>("Name", "Decide on a name for the island", thirdContact, 3.2);

            // Adding tasks to the projects
            project.Add(firstDeliverable, firstWorkTask, secondWorkTask, thirdTask);

            // Adding subtasks to the first task
            var underFirstDeliverable =
                new Deliverable("$1,000,000", "(total net worth after taxes)", firstContact);
            var underFirstTask1 = new WorkTask <IProjectItem>("Fortune1",
                                                              "Use psychic hotline to predict winning lottery numbers", fourthContact, 2.5);
            var underFirstTask2 = new WorkTask <IProjectItem>("Fortune2",
                                                              "Invest winnings to ensure 50% annual interest", firstContact, 14.0);

            firstWorkTask.Add(underFirstTask1).Add(underFirstTask2).Add(underFirstDeliverable);

            // Adding subtasks to the second task
            var underSecondTask1 =
                new WorkTask <IProjectItem>("Isle1",
                                            "Research whether climate is better in the Altantic or Pacific", firstContact, 1.8);
            var underSecondTask2 =
                new WorkTask <IProjectItem>("Isle2", "Locate an island for auction on EBay",
                                            fourthContact, 5.0);
            var underSecondTask3
                = new WorkTask <IProjectItem>("Isle2a", "Negotiate for sale of the island", thirdContact, 17.5);

            secondWorkTask.Add(underSecondTask1).Add(underSecondTask2).Add(underSecondTask3);

            // Adding the manager of the third task
            var deliverable31 = new Deliverable("Island Name", string.Empty, firstContact);

            thirdTask.Add(deliverable31);

            return(project);
        }
Exemplo n.º 18
0
        public void Add_AddWithNullName_ThrowsException()
        {
            var exception = Assert.Throws <ArgumentException>(
                () => Project.Add(null)
                );

            Assert.IsTrue(exception.Message.ToLower().Contains(
                              "can't create project with null name"
                              ));
        }
Exemplo n.º 19
0
        public void Add_AddWithDuplicateName_ThrowsException()
        {
            Project.Add("Test Project");

            var exception = Assert.Throws <InvalidOperationException>(() => Project.Add("Test Project"));

            Assert.IsTrue(exception.Message.ToLower().Contains(
                              "project with name \"test project\" already exist"
                              ));
        }
Exemplo n.º 20
0
        private static void newStdDiagram_Click(object sender, EventArgs e)
        {
            ToolStripItem menuItem = (ToolStripItem)sender;
            Project       project  = ((ProjectNode)menuItem.OwnerItem.Owner.Tag).Project;

            Diagram diagram = new Diagram(StdLanguage.Instance);

            Settings.Default.DefaultLanguageName = StdLanguage.Instance.AssemblyName;
            project.Add(diagram);
        }
Exemplo n.º 21
0
        public void Clear_ClearAfterThreeAddition_ProjectsCountEqualsZero()
        {
            Project.Add("Test Project 1");
            Project.Add("Test Project 2");
            Project.Add("Test Project 3");

            Project.Clear();

            Assert.AreEqual(0, Project.Count);
        }
Exemplo n.º 22
0
        public void AttachToProject_AttachNotAttachedTask_AttachSuccess()
        {
            Task task1 = Task.AddOnDate("2020/12/30 test task 1", new DateTime(2020, 12, 30));

            Project p1 = Project.Add("Test project 1");

            Assert.IsNull(task1.Project);
            Task.AttachToProject(task1, p1);
            Assert.AreEqual(p1, task1.Project);
        }
Exemplo n.º 23
0
        public void AttachToProject_AttachToSameProject_NothingHappens()
        {
            Task task1 = Task.AddOnDate("2020/12/30 test task 1", new DateTime(2020, 12, 30));

            Project p1 = Project.Add("Test project 1");

            Task.AttachToProject(task1, p1);
            Task.AttachToProject(task1, p1);
            Assert.AreEqual(p1, task1.Project);
        }
Exemplo n.º 24
0
        public void Participants_must_not_be_older_than_50_years()
        {
            var         fiftyYearsBefore = DateTime.Now.AddYears(-50);
            Project     project          = ProjectBuilder.New();
            Participant toOld            = ParticipantBuilder.New()
                                           .With(p => p.Birthday = fiftyYearsBefore);

            Action addTooOldParticipant = () => project.Add(toOld);

            addTooOldParticipant.Should().Throw <ParticipantTooOldException>();
        }
Exemplo n.º 25
0
        private void AddEmptyDiagram()
        {
            TreeNode parent = Parent;

            this.Delete();
            // TODO: in the settings there should be a default diagram. This should check
            // for the default first and then only if it is a class diagram for the
            // default language
            IDiagram diagram = new ClassDiagram(Settings.Default.GetDefaultLanguage());

            project.Add(diagram);
        }
Exemplo n.º 26
0
        private void newDiagram_Click(object sender, EventArgs e)
        {
            ToolStripItem menuItem = (ToolStripItem)sender;
            Project       project  = ((ProjectNode)menuItem.OwnerItem.Owner.Tag).Project;

            Language language = languages.Find(o => o.Name.Equals(menuItem.Name));

            Diagram diagram = new Diagram(language);

            Settings.Default.DefaultLanguageName = language.AssemblyName;
            project.Add(diagram);
        }
Exemplo n.º 27
0
        public void Complete_CompleteExisting_CompleteSuccess()
        {
            Project p1 = Project.Add("Test Project 1");
            Project p2 = Project.Add("Test Project 2");
            Project p3 = Project.Add("Test Project 3");

            Project.Complete(p1);

            Assert.IsTrue(p1.Completed);
            Assert.IsFalse(p2.Completed);
            Assert.IsFalse(p3.Completed);
        }
Exemplo n.º 28
0
        public void AttachToProject_AttachNullTask_ThrowsException()
        {
            Project p1 = Project.Add("Test project 1");

            var exception = Assert.Throws <ArgumentException>(
                () => Task.AttachToProject(null, p1)
                );

            Assert.IsTrue(exception.Message.ToLower().Contains(
                              "task can't be null"
                              ));
        }
Exemplo n.º 29
0
            public static bool AddExistingDirectoryToProject(string DirectoryPath, Project Project, string RelativeDir)
            {
                /*
                 * - If dir not controlled by prj, add it
                 * - Copy the directory and all its children
                 * - Save project
                 */
                var newDir_rel = Path.Combine(RelativeDir, Path.GetFileName(DirectoryPath));
                var newDir_abs = Project.ToAbsoluteFileName(newDir_rel);

                // If project dir is a subdirectory of DirectoryPath, return false
                if (Project.BaseDirectory.Contains(DirectoryPath) || DirectoryPath == Project.BaseDirectory)
                {
                    MessageBox.Show("Project's base directory is part of " + DirectoryPath + " - cannot add it", "File addition error");
                    return(false);
                }

                if (!Project.SubDirectories.Contains(newDir_rel))
                {
                    Project.SubDirectories.Add(newDir_rel);
                }

                Util.CreateDirectoryRecursively(newDir_abs);

                foreach (var file in Directory.GetFiles(DirectoryPath, "*", SearchOption.AllDirectories))
                {
                    // Note: Empty directories will be ignored.
                    var newFile_rel = file.Substring(DirectoryPath.Length).Trim('\\');
                    var newFile_abs = newDir_abs + "\\" + newFile_rel;

                    if (Project.Add(newFile_abs) != null)
                    {
                        try
                        {
                            if (file != newFile_abs)
                            {
                                File.Copy(file, newFile_abs, true);
                            }
                        }
                        catch (Exception ex) {
                            ErrorLogger.Log(ex);
                            if (MessageBox.Show("Stop adding files?", "Error while adding files", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                            {
                                return(false);
                            }
                        }
                    }
                }
                Project.Save();
                Instance.UpdateGUI();
                return(true);
            }
Exemplo n.º 30
0
        public void GetAll_AddedThreeProjects_ReturnAll()
        {
            Project p1 = Project.Add("Test Project 1");
            Project p2 = Project.Add("Test Project 2");
            Project p3 = Project.Add("Test Project 3");

            List <Project> projects = Project.GetAll();

            Assert.AreEqual(3, projects.Count);
            Assert.IsTrue(projects.Contains(p1));
            Assert.IsTrue(projects.Contains(p2));
            Assert.IsTrue(projects.Contains(p3));
        }
Exemplo n.º 31
0
			/// <summary>
			/// Opens a new-source dialog
			/// </summary>
			public static bool AddNewSourceToProject(Project Project, string RelativeDir)
			{
				var sdlg = new NewSrcDlg();
				if (sdlg.ShowDialog().Value)
				{
					var file = (String.IsNullOrEmpty(RelativeDir) ? "" : (RelativeDir + "\\")) + sdlg.FileName;
					var absFile = Project.BaseDirectory + "\\" + file;

					if (File.Exists(absFile))
						return false;

					if (Project.Add(file)!=null)
					{
						// Set standard encoding to UTF8
						File.WriteAllText(absFile, "",Encoding.UTF8);
						Project.Save();
						Instance.UpdateGUI();
						return true;
					}
				}
				return false;
			}
Exemplo n.º 32
0
 protected Connection(Project project, params Expression<Func<string, object>>[] options)
     : base(options)
 {
     project.Add(this);
     Requests = new List<Request>();
 }
Exemplo n.º 33
0
			public static bool AddExistingDirectoryToProject(string DirectoryPath, Project Project, string RelativeDir)
			{
				/*
				 * - If dir not controlled by prj, add it
				 * - Copy the directory and all its children
				 * - Save project
				 */
				var newDir_rel = Path.Combine(RelativeDir, Path.GetFileName(DirectoryPath));
				var newDir_abs = Project.ToAbsoluteFileName(newDir_rel);

				// If project dir is a subdirectory of DirectoryPath, return false
				if (Project.BaseDirectory.Contains(DirectoryPath) || DirectoryPath == Project.BaseDirectory)
				{
					MessageBox.Show("Project's base directory is part of " + DirectoryPath + " - cannot add it","File addition error");
					return false;
				}

				if (!Project.SubDirectories.Contains(newDir_rel))
					Project.SubDirectories.Add(newDir_rel);

				Util.CreateDirectoryRecursively(newDir_abs);

				foreach (var file in Directory.GetFiles(DirectoryPath, "*", SearchOption.AllDirectories))
				{
					// Note: Empty directories will be ignored.
					var newFile_rel = file.Substring(DirectoryPath.Length).Trim('\\');
					var newFile_abs = newDir_abs + "\\" + newFile_rel;

					if (Project.Add(newFile_abs)!=null)
					{
						try
						{
							if (file != newFile_abs)
								File.Copy(file, newFile_abs, true);
						}
						catch (Exception ex) { 
							ErrorLogger.Log(ex);
							if(MessageBox.Show("Stop adding files?","Error while adding files",MessageBoxButton.YesNo)==MessageBoxResult.Yes)
								return false; 
						}
					}
				}
				Project.Save();
				Instance.UpdateGUI();
				return true;
			}
Exemplo n.º 34
0
			public static bool RenameFile(Project Project, string file, string NewFileName)
			{
				var absPath = Project.ToAbsoluteFileName(file);
				var newFilePath =Path.Combine(Project.BaseDirectory, Path.GetDirectoryName(NewFileName),Util.PurifyFileName(Path.GetFileName(NewFileName)));
				var ret = Util.MoveFile(absPath, newFilePath);
				if (ret)
				{
					Project.Remove(file);
					Project.Add(newFilePath);
					Project.Save();

					foreach (var e in Instance.Editors)
						if (e.AbsoluteFilePath == absPath)
						{
							e.AbsoluteFilePath = newFilePath;
							e.Reload();
						}
				}
				return ret;
			}
Exemplo n.º 35
0
			public static void AddExistingSourceToProject(Project Project, string RelativeDir, params string[] Files)
			{
				var absPath = (Project.BaseDirectory + "\\" + RelativeDir).Trim('\\');
				foreach (var FileName in Files)
				{
					/*
					 * - Try to add the new file; if successful:
					 * - Physically copy the file if it's not in the target directory
					 */
					var newFile = absPath + "\\" + Path.GetFileName(FileName);

					if (Project.Add(newFile)!=null)
					{
						try
						{
							if (Path.GetDirectoryName(FileName) != absPath)
								File.Copy(FileName, newFile, true);
						}
						catch (Exception ex) { ErrorLogger.Log(ex); }
					}
				}
				if (Project.Save())
					Instance.UpdateGUI(); ;
			}
        public ActionResult Edit([Bind(Include = "ClassroomId,CourseId,DataCenterId,UserId,Start,Name")] Classroom classroom, string sessionId)
        {
            if (ModelState.IsValid)
            {
                DataCenter dc = this.db.Query<DataCenter>().Where(d => d.DataCenterId == classroom.DataCenterId).FirstOrDefault();
                if (dc != null)
                {
                    Course crs = this.db.Query<Course>().Where(c => c.CourseId == classroom.CourseId).FirstOrDefault();
                    if (crs != null)
                    {
                        Project projectObject = new Project(this.st);
                        if (classroom.ClassroomId == 0)
                        {
                            projectObject.name = crs.Name + "-" + classroom.Start.ToShortDateString();
                            projectObject.region = dc.Region;
                            projectObject.Add();
                            if (projectObject.id != null)
                            {
                                classroom.Project = projectObject.id;
                                this.db.Add<Classroom>(classroom);
                                Log.Write(this.db, ControllerContext.HttpContext, new Log() { Message = LogMessages.create, Detail = "Classroom created for " + crs.Name + " on " + classroom.JSDate });
                            }
                        }
                        else
                        {
                            this.db.Update<Classroom>(classroom);
                            Log.Write(this.db, ControllerContext.HttpContext, new Log() { Message = LogMessages.update, Detail = "Classroom updated for  " + crs.Name + " on " + classroom.JSDate });
                        }

                        List<SeatTemp> sts = this.db.Query<SeatTemp>().Where(st => st.SessionId == sessionId).ToList();
                        List<int> stids = sts.Select(s => s.SeatId).ToList();
                        List<Seat> seatsToRemove = this.db.Query<Seat>().Where(s => !stids.Contains(s.SeatId)).ToList();
                        Configuration configuration = new Configuration(this.st);
                        foreach (Seat s in seatsToRemove)
                        {
                            this.db.Remove<Seat>(s);
                            configuration.Id = s.ConfigurationId;
                            configuration.Delete();
                        }

                        foreach (SeatTemp st in sts)
                        {
                            Seat s = st.ToSeat();
                            if (s.SeatId == 0)
                            {
                                if (s.ClassroomId == 0)
                                {
                                    s.ClassroomId = classroom.ClassroomId;
                                }

                                User usr = this.db.Query<User>().Where(u => u.UserId == s.UserId).FirstOrDefault();
                                configuration.Name = usr.EmailAddress + "-" + crs.Name;
                                configuration.Add(classroom.Project, classroom.Course.Template, dc.GateWayBackboneId, dc.Region);
                                if (configuration.Id != null)
                                {
                                    s.ConfigurationId = configuration.Id;
                                    this.db.Add<Seat>(s);
                                }
                            }

                            this.db.Remove<SeatTemp>(st);
                        }

                        this.db.SaveChanges();
                    }
                }

                return this.RedirectToAction("Index", "Home");
            }

            ViewBag.Session = sessionId;
            this.PopulateTemp(classroom.ClassroomId, ViewBag.Session);
            ViewBag.CourseId = new SelectList(this.db.Query<Course>(), "CourseId", "Name", classroom.CourseId);
            ViewBag.UserId = new SelectList(this.db.Query<User>(), "UserId", "EmailAddress", classroom.UserId);
            return this.View(classroom);
        }