public GetBuildStatusResponse Get(GetBuildStatus request) { GetBuildResponse builds; try { builds = TeamCityClient.GetBuild(new GetBuild { BuildLocator = "project:id:" + request.ProjectId }); } catch (WebException e) { if (e.HasStatus(HttpStatusCode.BadRequest)) { throw HttpError.NotFound("Project Not found"); } throw; } //Parse datetime from TeamCity string pattern = "yyyyMMddTHHmmssK"; DateTime?startDateTime = DateTime.ParseExact(builds.StartDate, pattern, CultureInfo.InvariantCulture); DateTime?finishDateTime = DateTime.ParseExact(builds.FinishDate, pattern, CultureInfo.InvariantCulture); return(new GetBuildStatusResponse { Status = builds.Status, LastUpdate = builds.State == "finished" ? finishDateTime : startDateTime }); }
public GetBuildStatusResponse Get(GetBuildStatus request) { GetBuildResponse builds; try { builds = TeamCityClient.GetBuild(new GetBuild {BuildLocator = "project:id:" + request.ProjectId}); } catch (WebException e) { if (e.HasStatus(HttpStatusCode.BadRequest)) { throw HttpError.NotFound("Project Not found"); } throw; } //Parse datetime from TeamCity string pattern = "yyyyMMddTHHmmssK"; DateTime? startDateTime = DateTime.ParseExact(builds.StartDate, pattern, CultureInfo.InvariantCulture); DateTime? finishDateTime = DateTime.ParseExact(builds.FinishDate, pattern, CultureInfo.InvariantCulture); return new GetBuildStatusResponse { Status = builds.Status, LastUpdate = builds.State == "finished" ? finishDateTime : startDateTime }; }