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); }
public async Task SaveStage(ProjectStage stage) { if (stage == null) { throw new ArgumentNullException("ProjectStage can not be null"); } await _repository.SaveStage(stage); }
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; } }
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); }
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)); }