public async Task <IActionResult> CreateRelationship([FromBody] RelationshipResource relationshipResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var person = await _unitOfWork.Persons.GetPerson(relationshipResource.PersonId, includeRelated : false); if (person == null) { return(NotFound()); } var relatedPerson = await _unitOfWork.Persons.GetPerson(relationshipResource.PersonId, includeRelated : false); if (relatedPerson == null) { return(NotFound()); } var relationship = _mapper.Map <RelationshipResource, Relationship>(relationshipResource); _unitOfWork.Relationships.Add(relationship); await _unitOfWork.CompleteAsync(); return(Ok()); }
public async Task <IActionResult> RemoveRelationship([FromQuery] RelationshipResource relationshipResource) { var relationship = _mapper.Map <RelationshipResource, Relationship>(relationshipResource); var relationshipInDb = await _unitOfWork.Relationships.GetRelationship(relationship); if (relationshipInDb == null) { return(NotFound()); } _unitOfWork.Relationships.Remove(relationship); await _unitOfWork.CompleteAsync(); return(Ok()); }
public abstract void Write(Utf8JsonWriter writer, ref TrackedResources tracked, RelationshipResource <T> value, JsonSerializerOptions options);