public async Task <IEnumerable <Tourn> > GetTournsAsync(int?parentId) { List <Tourn> tourns; if (!parentId.HasValue) { tourns = (await _rootParser.GetTourns(BaseUrl + @"/tour")).ToList(); } else { var url = _tournsRepository.GetUrl(parentId); var xml = await _loader.GetXml(BaseUrl + @"/tour/" + url); tourns = _tournListParser.GetTourns(xml).ToList(); } foreach (var tourn in tourns) { tourn.ParentId = parentId; tourn.HasChildTourns = true; //tourn.Loaded = DateTime.Now; if (string.IsNullOrEmpty(tourn.SourceId)) { tourn.SourceId = tourn.Url; } } _tournsRepository.SaveTourns(tourns, parentId); return(_agent.GetTourns(parentId)); }