public void CreateTeam(string name)
{
if (repository.Query<Team>().Any(x => x.Name == name))
throw new ModelIsNotValidException();
var team = new Team { Name = name };
var user = GetCurrentUser();
var tags = new List<Tag>{
new Tag
{
Name = "C++",
},
new Tag
{
Name = "Php"
},
new Tag
{
Name = ".Net"
}
};
user.Teams.Add(team);
user.CurrentTeam = user.Teams.Last();
team.Users.Add(user);
repository.Save(team);
SaveCurrentUserAndCurrentTeam(user);
foreach (var tag in tags)
{
tag.Owner = repository.Get<Team>(team.Id);
repository.Save(tag);
}
}