public static PipelineViewModel MapToPipelineViewModel(Pipeline pipeline) { if (pipeline == null) { throw new ArgumentNullException("pipeline"); } string createdDisplay = GetDateTimeDisplay(pipeline.Created); string sourceUrlRelative = pipeline.SourceUrl.Replace(pipeline.SourceUrlBase, string.Empty); if (sourceUrlRelative.Contains("/")) { sourceUrlRelative = sourceUrlRelative.Split('/').Last(); } var result = new PipelineViewModel { PipelineId = pipeline.Id, ProjectName = pipeline.ProjectName, SourceAuthor = pipeline.SourceAuthor, SourceRevision = pipeline.SourceRevision, SourceUrlRelative = sourceUrlRelative, CreatedDisplay = createdDisplay, StatusText = pipeline.IsSuccessful ? "OK" : "Failed", CssClass = pipeline.IsSuccessful ? "PipelineGreen" : "PipelineRed", Steps = pipeline.Steps.Select(MapToBuildStepViewModel) }; return result; }
public object Post(PipelineRequest request) { var pipeline = new Pipeline(0, request.ProjectName, request.Revision, request.BranchName, DateTime.Now, "NN", request.PackagePath); Repository.AddPipeline(pipeline); return pipeline.PipelineId; }
private void SetupRepositories( int pipelineId, int environmentId) { var environment = new Environment(); var pipeline = new Pipeline( pipelineId, "A", 1, "x", "x", DateTime.Now, "x", "x"); environmentRepositoryMock.Setup( er => er.GetEnvironment(environmentId)).Returns( environment); pipelineRepositoryMock.Setup( pr => pr.GetPipeline(pipelineId)).Returns( pipeline); }
public void AddPipeline(Pipeline pipeline) { int projectId = AddProject(pipeline.ProjectName); const string sql = @" SELECT @pipelineId = PipelineId FROM Pipeline WHERE ProjectId = @projectId AND Revision = @revision AND BranchName = @branchName IF @pipelineId IS NULL BEGIN INSERT INTO Pipeline (ProjectId, Revision, BranchName, Created, SourceAuthor, PackagePath) VALUES (@projectId, @revision, @branchName, GETDATE(), @sourceAuthor, @packagePath) SET @pipelineId = Scope_Identity() END ELSE BEGIN UPDATE Pipeline SET Modified = GETDATE() , SourceAuthor = @sourceAuthor , PackagePath = @packagePath WHERE PipelineId = @pipelineId END"; var param = new { projectId, pipeline.Revision, pipeline.BranchName, pipeline.SourceAuthor, pipeline.PackagePath }; int pipelineId = _connection.ExecuteAndGetGeneratedId(sql, param, "PipelineId"); pipeline.AssignId(pipelineId); }
private void AddSteps(Pipeline pipeline) { const string sql = @" SELECT IsSuccessful, StepName, Created FROM BuildStep WHERE PipelineId = @PipelineId ORDER BY Created ASC"; var param = new {pipeline.PipelineId}; IEnumerable<BuildStep> steps = _connection.Query<BuildStep>(sql, param); foreach (BuildStep step in steps) pipeline.AddStep(step); }
private void AddSteps(Pipeline pipeline) { const string CommandText = @" SELECT IsSuccessful, StepName, Created FROM BuildStep WHERE PipelineId = @PipelineId ORDER BY Created ASC"; using (DbCommand command = CreateCommand()) { AddParameter(command, "PipelineId", pipeline.Id); command.CommandText = CommandText; using (DbDataReader reader = GetReader(command)) { while (reader.Read()) { pipeline.AddStep(new BuildStep( (bool)reader["IsSuccessful"], (string)reader["StepName"], (DateTime)reader["Created"])); } } } }