public async Task SaveAsync(Subvault subvault) { if (subvault.Id == default(Guid)) { var org = await _organizationRepository.GetByIdAsync(subvault.OrganizationId); if (org == null) { throw new BadRequestException("Org not found"); } if (org.MaxSubvaults.HasValue) { var subvaultCount = await _subvaultRepository.GetCountByOrganizationIdAsync(org.Id); if (org.MaxSubvaults.Value <= subvaultCount) { throw new BadRequestException("You have reached the maximum number of subvaults " + $"({org.MaxSubvaults.Value}) for this organization."); } } await _subvaultRepository.CreateAsync(subvault); } else { await _subvaultRepository.ReplaceAsync(subvault); } }
public SubvaultResponseModel(Subvault subvault) : base("subvault") { if (subvault == null) { throw new ArgumentNullException(nameof(subvault)); } Id = subvault.Id.ToString(); OrganizationId = subvault.OrganizationId.ToString(); Name = subvault.Name; }
public Subvault ToSubvault(Subvault existingSubvault) { existingSubvault.Name = Name; return(existingSubvault); }