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;
        }
Esempio n. 2
0
 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);
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 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"]));
             }
         }
     }
 }