public void TestDodajCzasTrwania() { TimeSpan czas1 = new TimeSpan(1, 30, 0); Prelegent p1 = new Prelegent("login", "haslo"); Referat r1 = new Referat("tytul", "streszczenie", p1); Assert.AreEqual(czas1, r1.DodajCzasTrwania(1, 30)); }
private Referat CreateReferatFromHtml(HtmlDocument htmlDoc) { var referatNodes = htmlDoc.DocumentNode.SelectNodes("//div[contains(concat(' ', normalize-space(@class), ' '), 'referats__text')]") .Descendants("#text"); if (referatNodes == null) { return(null); } var referat = new Referat(); var categories = service.GetAllCategories(); var referatText = new StringBuilder(); foreach (var node in referatNodes) { var parentNodeName = node.ParentNode.Name; switch (parentNodeName) { case "div": { var categoryName = node.InnerHtml.Trim(); var category = categories.Result .FirstOrDefault(x => x.Name != null && x.Name.Equals(categoryName, StringComparison.CurrentCultureIgnoreCase)); if (category == null) { referat.Category = new Category() { Name = categoryName, CreatedDate = DateTime.UtcNow }; } else { referat.Category = category; referat.CategoryId = category.Id; } } break; case "strong": referat.Topic = node.InnerHtml; break; case "p": referatText.Append($"{node.InnerText}{Environment.NewLine}"); break; default: break; } } referat.Text = referatText.ToString(); return(referat); }
/// <summary> /// Check if downloaded referat is not already in DB and add it to DB /// </summary> /// <param name="referat">Downloaded referat</param> /// <returns></returns> public async Task AddReferatAsync(Referat referat) { using (var repository = new ReferatsRepository()) { // Check if we have already download such a referat (COMPARE BY TOPIC) var referats = await repository.GetAllReferats(); if (referats.Any(r => r.Topic.Equals(referat.Topic, StringComparison.CurrentCultureIgnoreCase))) { return; } await repository.Insert(referat); } }