/// <inheritdoc /> public Task CreateWithSpecifiedIdAsync(string masterId, string slaveId, PersonConsentCreate item, CancellationToken token = new CancellationToken()) { InternalContract.RequireNotNull(item, nameof(item)); InternalContract.RequireValidated(item, nameof(item)); InternalContract.Require(masterId == item.PersonId, $"{nameof(masterId)} ({masterId} must have the same value as {nameof(item)}.{nameof(item.PersonId)} ({item.PersonId})."); InternalContract.Require(slaveId == item.ConsentId, $"{nameof(slaveId)} ({slaveId} must have the same value as {nameof(item)}.{nameof(item.ConsentId)} ({item.ConsentId})."); var serverItem = MapToServer(item); return(_storage.PersonConsent.CreateAsync(serverItem, token)); }
private PersonConsentTable MapToServer(PersonConsentCreate source) { InternalContract.RequireNotNull(source, nameof(source)); InternalContract.RequireValidated(source, nameof(source)); var target = new PersonConsentTable { HasGivenConsent = source.HasGivenConsent, PersonId = MapperHelper.MapToType <Guid, string>(source.PersonId), ConsentId = MapperHelper.MapToType <Guid, string>(source.ConsentId), }; FulcrumAssert.IsValidated(target); return(target); }