public async Task <CrabEditClientResult <CrabSubaddressId> > AddSubaddressToCrab( AddAddressRequest request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var addCrabSubaddressResponse = await _client.Add( new AddSubaddress { StreetNameId = request.StreetNameId.AsIdentifier().Map(IdentifierMappings.StreetNameId), HouseNumber = request.HouseNumber, BoxNumber = request.BoxNumber, PostalCode = request.PostalCode.AsIdentifier().Map(IdentifierMappings.PostalCode), Status = request.Status.AsIdentifier().Map(IdentifierMappings.AddressStatus), OfficiallyAssigned = request.OfficiallyAssigned, Position = MapPosition(request.Position) }, cancellationToken); return(CrabEditClientResult <CrabSubaddressId> .From( addCrabSubaddressResponse, identifier => new CrabSubaddressId(addCrabSubaddressResponse.AddressId))); }
public async Task <CrabEditClientResult> CorrectSubaddress( int subaddressId, CorrectAddressRequest request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var updateResponse = await _client.Update( new EditSubaddress { SubaddressId = subaddressId, OfficiallyAssigned = request.OfficiallyAssigned, Position = MapPosition(request.Position), PostalCode = request.PostalCode.AsIdentifier().Map(IdentifierMappings.PostalCode), Status = request.Status.AsIdentifier().Map(IdentifierMappings.AddressStatus), IsCorrection = true, }, cancellationToken); return(CrabEditClientResult.From(updateResponse)); }