public void SavePackageConfiguration(PluginPackageConfigurationEntity packageConfiguration) { if (!PackageConfigurationRepository.Entities .Any(x => x.PackageId == packageConfiguration.PackageId)) { PackageConfigurationRepository.Insert(new PackageConfiguration { PackageId = packageConfiguration.PackageId }); } var configuration = PackageConfigurationRepository .GetSatisfiedBy(x => x.PackageId == packageConfiguration.PackageId); PackageConfigurationRepository.Update(configuration); if (packageConfiguration.Repositories.IsNullOrEmpty()) return; var repositories = Repository .GetAllSatisfiedBy(x => x.PackageConfigurationId == configuration.PackageConfigurationId) .ToArray(); UpdateCollectionHelper.UpdateCollection(repositories, packageConfiguration.Repositories, Repository, Mapper, (d, b) => d.ExternalId == b.ExternalId, d => d.PackageConfigurationId = configuration.PackageConfigurationId); }
public void SavePackageConfiguration(PluginPackageConfigurationEntity packageConfiguration) { if (!PackageConfigurationRepository.Entities .Any(x => x.PackageId == packageConfiguration.PackageId)) { PackageConfigurationRepository.Insert(new PackageConfiguration { PackageId = packageConfiguration.PackageId }); } var configuration = PackageConfigurationRepository .GetSatisfiedBy(x => x.PackageId == packageConfiguration.PackageId); PackageConfigurationRepository.Update(configuration); }
public void SavePackageConfiguration(PluginPackageConfigurationEntity packageConfiguration) { if (!PackageConfigurationRepository.Entities .Any(x => x.PackageId == packageConfiguration.PackageId)) { PackageConfigurationRepository.Insert(new PackageConfiguration { PackageId = packageConfiguration.PackageId }); } var configuration = PackageConfigurationRepository .GetSatisfiedBy(x => x.PackageId == packageConfiguration.PackageId); configuration.Label = packageConfiguration.Label; configuration.UpdateTicketMode = packageConfiguration.UpdateTicketMode; PackageConfigurationRepository.Update(configuration); var filters = PackageJqlFilterRepository .GetAllSatisfiedBy(x => x.PackageConfigurationId == configuration.PackageConfigurationId) .ToArray(); var defectFilters = PackageDefectJqlFilterRepository .GetAllSatisfiedBy(x => x.PackageConfigurationId == configuration.PackageConfigurationId) .ToArray(); var toUpdateFilters = filters. Where(x => packageConfiguration.JqlFilter.Any(f => x.Name == f.Name)).ToList(); var toRemoveFilters = filters. Where(x => packageConfiguration.JqlFilter.All(f => x.Name != f.Name)).ToList(); var toInsertFilters = packageConfiguration.JqlFilter. Where(x => filters.All(f => x.Name != f.Name)).ToList(); toUpdateFilters.Each(x => { x.Value = packageConfiguration.JqlFilter.First(f => f.Name == x.Name).Value; PackageJqlFilterRepository.Update(x); }); toRemoveFilters.Each(PackageJqlFilterRepository.Delete); toInsertFilters.Each(x => { var filter = Mapper.Map<NameValuePair, PackageJqlFilter>( packageConfiguration.JqlFilter.First(f => f.Name == x.Name)); filter.PackageConfigurationId = configuration.PackageConfigurationId; PackageJqlFilterRepository.Insert(filter); }); var toUpdateDefectFilters = defectFilters. Where(x => packageConfiguration.DefectFilter.Any(f => x.Name == f.Name)).ToList(); var toRemoveDefectFilters = defectFilters. Where(x => packageConfiguration.DefectFilter.All(f => x.Name != f.Name)).ToList(); var toInsertDefectFilters = packageConfiguration.DefectFilter. Where(x => defectFilters.All(f => x.Name != f.Name)).ToList(); toUpdateDefectFilters.Each(x => { x.Value = packageConfiguration.DefectFilter.First(f => f.Name == x.Name).Value; PackageDefectJqlFilterRepository.Update(x); }); toRemoveDefectFilters.Each(PackageDefectJqlFilterRepository.Delete); toInsertDefectFilters.Each(x => { var filter = Mapper.Map<NameValuePair, PackageDefectJqlFilter>( packageConfiguration.DefectFilter.First(f => f.Name == x.Name)); filter.PackageConfigurationId = configuration.PackageConfigurationId; PackageDefectJqlFilterRepository.Insert(filter); }); }
public void SavePackageConfiguration(PluginPackageConfigurationEntity packageConfiguration) { if (!packageConfiguration.GoPipelines.IsNullOrEmpty()) { var duplicatedId = packageConfiguration.GoPipelines .GroupBy(x => x.ExternalId) .FirstOrDefault(x => x.Count() > 1); if (duplicatedId != null) throw new GoPipelineDuplicatedException(duplicatedId.Key); var duplicatedName = packageConfiguration.GoPipelines .GroupBy(x => x.Name) .FirstOrDefault(x => x.Count() > 1); if (duplicatedName != null) throw new GoPipelineDuplicatedException(duplicatedName.Key); } if (!PackageConfigurationRepository.Entities .Any(x => x.PackageId == packageConfiguration.PackageId)) { PackageConfigurationRepository.Insert(new PackageConfiguration { PackageId = packageConfiguration.PackageId }); } var configuration = PackageConfigurationRepository .GetSatisfiedBy(x => x.PackageId == packageConfiguration.PackageId); configuration.AllowGettingDeployTime = packageConfiguration.AllowGettingDeployTime == GettingDeployTimeMode.Allow; if (!string.IsNullOrEmpty(packageConfiguration.GoServer)) { var goServer = GoServerConfigurationRepository .GetSatisfiedBy(x => x.Name == packageConfiguration.GoServer); if (goServer == null) throw new GoServerNotFoundException(packageConfiguration.GoServer); configuration.GoServerConfigurationId = goServer.GoServerConfigurationId; } else configuration.GoServerConfigurationId = null; PackageConfigurationRepository.Update(configuration); var pipelines = PackageGoPipelineConfigurationRepository .GetAllSatisfiedBy(x => x.PackageConfigurationId == configuration.PackageConfigurationId) .ToArray(); UpdateCollectionHelper.UpdateCollection(pipelines, packageConfiguration.GoPipelines, PackageGoPipelineConfigurationRepository, Mapper, (d, b) => d.ExternalId == b.ExternalId, d => d.PackageConfigurationId = configuration.PackageConfigurationId); }