public Response AssignCoach(Guid squadId, Guid coachId) { var squad = squadQuery.GetSquad(squadId); if (squad == null) { return(Response.CreateResponse(new List <string> { "The specified squad does not exist" })); } var coach = memberQuery.GetCoach(coachId); if (coach == null) { return(Response.CreateResponse(new List <string> { "The specified coach does not exist" })); } else if (squad.ClubId != coach.ClubId) { return(Response.CreateResponse(new IllegalOperationException("The squad and coach belong to different clubs"))); } squadRepository.AssignCoach(squadId, coachId); return(Response.CreateSuccessResponse()); }