public async Task <Build> GetLastBuildAsync(Guid buildConfigId) { var allBuilds = await buildRepository.GetAllFromBuildConfigAsync(buildConfigId); if (allBuilds.Any(b => b.FinishTime == null)) { return(ModelsMapper.ConvertBuildDbModelToServiceModel(allBuilds.First(b => b.FinishTime == null))); } return(ModelsMapper.ConvertBuildDbModelToServiceModel(allBuilds.OrderByDescending(b => b.StartTime).FirstOrDefault())); }
public async Task <Build> RunAsync(Guid id, string userId) { var dbBuildConfig = await buildConfigRepository.FindByIdAsync(id); var buildConfig = ModelsMapper.ConvertBuildConfigDbModelToServiceModel(dbBuildConfig); var buildTaskDto = new BuildTaskDto { BuildConfig = buildConfig, StartedByUserId = userId }; var pushTaskResult = await buildTaskProvider.PushTaskAsync(buildTaskDto); if (!pushTaskResult.IsSuccessful) { throw new Exception(pushTaskResult.Error); } var build = await buildRepository.FindByIdAsync(pushTaskResult.Value.Id); if (build == null) { throw new EntityNotFoundException(nameof(Build), pushTaskResult.Value.Id.ToString()); } return(ModelsMapper.ConvertBuildDbModelToServiceModel(build)); }
public async Task <Build> GetByIdAsync(Guid buildConfigId, Guid buildId) { var builds = await buildRepository.GetAllFromBuildConfigAsync(buildConfigId); return(ModelsMapper.ConvertBuildDbModelToServiceModel(builds.FirstOrDefault(x => x.Id == buildId))); }