public void AddRepositoryToRelease(ReleaseRepository repository, Guid releaseWindowId) { var releaseWindow = GetReleaseWindow(releaseWindowId); var dbReleaseRepository = ReleaseRepository.GetSatisfiedBy( o => o.RepositoryId == repository.ExternalId && o.ReleaseWindowId == releaseWindow.ReleaseWindowId); if (dbReleaseRepository != null) throw new EntityAlreadyExistsException(typeof(DataReleaseRepository), string.Format("ReleaseWindowId: {0}, RepositoryId: {1}", releaseWindowId, dbReleaseRepository.RepositoryId)); var newReleaseRepository = MappingEngine.Map<ReleaseRepository, DataReleaseRepository>(repository); newReleaseRepository.ReleaseWindowId = releaseWindow.ReleaseWindowId; ReleaseRepository.Insert(newReleaseRepository); }
public void UpdateRepository(ReleaseRepository repository, Guid releaseWindowId) { var releaseWindow = GetReleaseWindow(releaseWindowId); var dbReleaseRepository = ReleaseRepository.GetSatisfiedBy( o => o.RepositoryId == repository.ExternalId && o.ReleaseWindowId == releaseWindow.ReleaseWindowId); if (dbReleaseRepository == null) throw new EntityNotFoundException(typeof(DataReleaseRepository), string.Format("ReleaseWindowId: {0}, RepositoryId: {1}", releaseWindowId, repository.ExternalId)); if (!string.IsNullOrEmpty(dbReleaseRepository.ChangesFrom) && string.IsNullOrEmpty(repository.ChangesFrom)) { repository.ChangesFrom = dbReleaseRepository.ChangesFrom; } MappingEngine.Map(repository, dbReleaseRepository); ReleaseRepository.Update(dbReleaseRepository); }