private PackageRegistration CreateOrGetPackageRegistration(User currentUser, PackageMetadata packageMetadata) { var packageRegistration = FindPackageRegistrationById(packageMetadata.Id); if (packageRegistration != null && !packageRegistration.Owners.Contains(currentUser)) { throw new EntityException(Strings.PackageIdNotAvailable, packageMetadata.Id); } if (packageRegistration == null) { if (_packageNamingConflictValidator.IdConflictsWithExistingPackageTitle(packageMetadata.Id)) { throw new EntityException(Strings.NewRegistrationIdMatchesExistingPackageTitle, packageMetadata.Id); } packageRegistration = new PackageRegistration { Id = packageMetadata.Id }; packageRegistration.Owners.Add(currentUser); _packageRegistrationRepository.InsertOnCommit(packageRegistration); } return(packageRegistration); }
private PackageRegistration CreateOrGetPackageRegistration(User currentUser, PackageMetadata packageMetadata, bool isVerified) { var packageRegistration = FindPackageRegistrationById(packageMetadata.Id); if (packageRegistration != null && ActionsRequiringPermissions.EditPackage.CheckPermissions(currentUser, currentUser, packageRegistration) != PermissionsCheckResult.Allowed) { throw new EntityException(Strings.PackageIdNotAvailable, packageMetadata.Id); } if (packageRegistration == null) { if (_packageNamingConflictValidator.IdConflictsWithExistingPackageTitle(packageMetadata.Id)) { throw new EntityException(Strings.NewRegistrationIdMatchesExistingPackageTitle, packageMetadata.Id); } packageRegistration = new PackageRegistration { Id = packageMetadata.Id, IsVerified = isVerified }; packageRegistration.Owners.Add(currentUser); _packageRegistrationRepository.InsertOnCommit(packageRegistration); } return(packageRegistration); }
private PackageRegistration CreateOrGetPackageRegistration(User owner, User currentUser, PackageMetadata packageMetadata, bool isVerified) { var packageRegistration = FindPackageRegistrationById(packageMetadata.Id); if (packageRegistration == null) { if (_packageNamingConflictValidator.IdConflictsWithExistingPackageTitle(packageMetadata.Id)) { throw new EntityException(Strings.NewRegistrationIdMatchesExistingPackageTitle, packageMetadata.Id); } packageRegistration = new PackageRegistration { Id = packageMetadata.Id, IsVerified = isVerified }; packageRegistration.Owners.Add(owner); _packageRegistrationRepository.InsertOnCommit(packageRegistration); } return(packageRegistration); }