Exemplo n.º 1
0
        public async Task New_Project_Stage_Success_Test()
        {
            var project = Builder <core.Project> .CreateNew().With(p => p.ProjectID = 0).Build();

            project.ProjectName = "NewProject";
            try
            {
                _projectRepository.BeginTranaction();
                await _projectRepository.SaveProject(project);

                core.ProjectStage stage = Builder <core.ProjectStage> .CreateNew().With(s => s.StageID = 0).Build();

                stage.ProjectID = project.ProjectID;
                await _projectRepository.SaveStage(stage);

                _projectRepository.CommitTransaction();
                Assert.NotEqual <int>(0, stage.StageID);
            }
            catch
            {
                _projectRepository.RollbackTransaction();
            }

            var prj = await _projectRepository.GetProject(project.ProjectID);

            Assert.NotEqual <int>(0, prj.ProjectID);
        }
Exemplo n.º 2
0
        public async Task SaveStage(ProjectStage stage)
        {
            if (stage == null)
            {
                throw new ArgumentNullException("ProjectStage can not be null");
            }

            await _repository.SaveStage(stage);
        }
Exemplo n.º 3
0
        public async Task SaveProject(Project project)
        {
            try
            {
                var isNewProject = project.ProjectID == 0;

                if (!isNewProject)
                {
                    var proj = await _repository.GetProject(project.ProjectID);

                    project.CreatedBy      = proj.CreatedBy;
                    project.CreateDate     = proj.CreateDate;
                    project.CompletionDate = proj.CompletionDate;
                }

                _repository.BeginTranaction();

                await _repository.SaveProject(project);

                if (isNewProject)
                {
                    ProjectStage backLog = new ProjectStage {
                        StageName = "Backlog", Order = 1, ProjectID = project.ProjectID, CreatedBy = project.CreatedBy
                    };
                    ProjectStage inProgress = new ProjectStage {
                        StageName = "InProgress", Order = 2, ProjectID = project.ProjectID, CreatedBy = project.CreatedBy
                    };
                    ProjectStage completed = new ProjectStage {
                        StageName = "Completed", Order = 3, ProjectID = project.ProjectID, CreatedBy = project.CreatedBy
                    };

                    await _repository.SaveStage(backLog);

                    await _repository.SaveStage(inProgress);

                    await _repository.SaveStage(completed);
                }

                _repository.CommitTransaction();
            }
            catch
            {
                _repository.RollbackTransaction();
                throw;
            }
        }
Exemplo n.º 4
0
        public async Task Empty_Stage_Name_Fail_Test()
        {
            var project = Builder <core.Project> .CreateNew().With(p => p.ProjectID = 0).Build();

            project.ProjectName = "NewProject";
            await _projectRepository.SaveProject(project);

            core.ProjectStage stage = Builder <core.ProjectStage> .CreateNew()
                                      .With(s => s.StageID   = 0)
                                      .With(s => s.StageName = null)
                                      .Build();

            stage.ProjectID = project.ProjectID;
            await Assert.ThrowsAsync <DbUpdateException>(() => _projectRepository.SaveStage(stage));

            Assert.Equal <int>(0, stage.StageID);
        }
Exemplo n.º 5
0
        public async Task New_Projec_Stage_Fail_Test()
        {
            core.ProjectStage stage = Builder <core.ProjectStage> .CreateNew().With(s => s.StageID = 0).Build();

            await Assert.ThrowsAsync <DbUpdateException>(() => _projectRepository.SaveStage(stage));
        }