public void AddUser(int personId, int teamId)
{
var user = repository.Query<User>(x=>x.RelatedPerson,x=>x.Teams).FirstOrDefault(x => x.RelatedPerson.Id == personId);
var team = repository.Get<Team>(teamId,x => x.Users);
//Cant get users related persons so i did it manually
//team.Users = repository.Query<User>(x => x.RelatedPerson, x => x.Teams).Where(x => x.Teams.Any(z=>z.Id==team.Id)).ToList();
if (user == null || team == null)
throw new ModelIsNotValidException();
if (team.Users.Contains(user))
{
throw new ModelIsNotValidException();
}
team.Users.Add(user);
user.Teams.Add(team);
repository.Save(team);
repository.Save(user);
}