public async Task <ICollection <Group> > ParseGroupsAsync(int facultyId) { var page = await _restClient.CreateHtmlDocumentAsync ( ParserRoutes.GetGroupsUri(facultyId) ); return(page.DocumentNode .SelectNodes(".//ul/li/a") .Select(node => { var onClickParameters = node.Attributes["onclick"] .Value .GetTextBetweenBrackets() .Split(","); var type = Convert.ToInt32 ( onClickParameters.ElementAt(index: 1) ); var id = Convert.ToInt32 ( onClickParameters.ElementAt(index: 2) ); return new Group() { Id = id, TypeId = type, Title = node.InnerText }; }) .ToList()); }
public async Task <ICollection <Faculty> > ParseFacultiesAsync() { var page = await _restClient.CreateHtmlDocumentAsync ( ParserRoutes.GetBaseUri() ); return(page.DocumentNode .SelectNodes(".//*[contains(@class, 'menu')]/*[contains(@class, 'red')]") .Select(node => { var onClickParameters = node.Attributes["onclick"] .Value .GetTextBetweenBrackets() .Split(","); var id = Convert.ToInt32 ( onClickParameters.First() ); return new Faculty() { Id = id, Title = node.InnerText }; }) .ToList()); }