public ActionResult DownloadBibTeX(string title, string info, string reference) { var parser = new GoogleScholarParser(); var path = @"c:\bibFiles"; var bibDescr = parser.FormBibTeX(info, title, reference); var name = parser.FormBibTeXName(info, title); Directory.CreateDirectory(path); path += "\\" + name + ".bib"; if (!System.IO.File.Exists(path)) { using (var sw = System.IO.File.CreateText(path)) sw.WriteLine(bibDescr); } return(Redirect("/Home/Finish")); }
/// <summary> /// Method for handling Ajax query to search on Scholar /// </summary> /// <param name="query"> String to find </param> /// <param name="number"> Number of articles to find</param> /// <param name="exactPhrase"> Article should contains this phrase </param> /// <param name="without"> Articles should not contains this words </param> /// <param name="head"> Is searching only in article head </param> /// <param name="published"> Journal, where the article was published </param> /// <param name="author"> Author of article </param> /// <param name="dateStart"> Since date </param> /// <param name="dateEnd"> Till date </param> /// <returns> Block of Scholar articles </returns> public PartialViewResult SearchOnScholarResult(string query = "", int number = 10, string exactPhrase = null, string without = null, bool head = false, string published = null, string author = null, int dateStart = int.MinValue, int dateEnd = int.MinValue) { if (query.Length == 0) { return(PartialView("SearchOnScholarResult", new List <ScholarArticle>())); } var parsing = new GoogleScholarParser(); try { var resultList = new List <ScholarArticle>(); for (var i = 0; i < number; i += 10) { var parsedArticles = resultList.Count; resultList.AddRange(parsing.GetScholarArticlesByQuery(query, i, exactPhrase, without, head, published, author, dateStart, dateEnd)); if (resultList.Count == parsedArticles) { break; } } if (resultList.Count > number) { resultList.RemoveRange(number, resultList.Count - number); } if (resultList.Count != 0) { return(PartialView("SearchOnScholarResult", resultList)); } ModelState.AddModelError("Empty list", "Ничего не найдено"); return(PartialView("SearchOnScholarResult", new List <ScholarArticle>())); } catch (NullReferenceException) { ModelState.AddModelError("Empty list", "Ничего не найдено"); return(PartialView("SearchOnScholarResult", new List <ScholarArticle>())); } }
public ActionResult AddArticle(string title, string info, string reference, string username) { var parser = new GoogleScholarParser(); var authors = parser.GetAuthors(info); var year = parser.GetYear(info); var journal = parser.GetJournal(info); var publisher = parser.GetPublisher(info); var art = new Article { Title = title, Author = authors, Year = year, Journal = journal, Publisher = publisher, Type = "Article", UserName = username }; db.Articles.Add(art); db.SaveChanges(); return(Redirect("/Home/Finish")); }