public ActionResult AddNewRss(AddRssModel model) { try { if (string.IsNullOrEmpty(model.Rss)) { return Json(new { error = ViewResource.SharedStrings.CantBeEmpty }); } if (DbHelper.FindRss("Url", model.Rss).Count != 0) { return Json(new { error = ViewResource.SharedStrings.AlreadyExists }); } var rss = new RssItem(model.Rss); dbHelper.Configure(); var dbRss = new DbRss {Url = model.Rss, Title = rss.Channel.Title}; DbHelper.InsertRss(dbRss); return Json(new { url = Url.Action("Index", "Home") }); } catch (Exception) { return Json(new { error = ViewResource.SharedStrings.CheckCorrect } ); } }
private RssItem GetRandomRss() { dbHelper.Configure(); IList<DbRss> allRss = DbHelper.GetAllRss(); if ((allRss == null) || (allRss.Count == 0)) { return null; } var rand = new Random(); int index = rand.Next(allRss.Count); CurrentRss = allRss[index].IdRss; var rss = new RssItem(allRss[index].Url); return rss; }
public ActionResult Index(string value, string opendRss) { try { var user = CheckInputUser(); RssItem rss; ViewData["Message"] = ViewResource.SharedStrings.Welcome + ", " + user + "!"; int counter = 0; if (UsersController.CurrentUser == null) { if (string.IsNullOrEmpty(opendRss)) { rss = GetRandomRss(); var allRss = DbHelper.GetAllRss(); if ((allRss != null) && (allRss.Count != 0)) { foreach (var dbRss in allRss) { ViewData["AllRssTitle" + counter] = dbRss.Title; ViewData["AllRssUrl" + counter] = dbRss.Url; counter++; } ViewData["AllCounter"] = counter; } } else { rss = new RssItem(opendRss); CurrentRss = DbHelper.FindRss("Url", opendRss)[0].IdRss; } } else { dbHelper.Configure(); if (string.IsNullOrEmpty(opendRss)) { var allUserRss = DbHelper.GetAllUserRss(UsersController.CurrentUser.Id); if ((allUserRss != null) && (allUserRss.Count != 0)) { foreach (var dbRss in allUserRss.Select(idRss => DbHelper.FindRss("IdRss", idRss)).Where( dbRss => ((dbRss != null) && (dbRss.Count != 0)) && (dbRss[0] != null))) { ViewData["RssTitle" + counter] = dbRss[0].Title; ViewData["RssUrl" + counter] = dbRss[0].Url; counter++; } ViewData["Counter"] = counter; } var allRss = DbHelper.GetAllRss(); counter = 0; if ((allRss != null) && (allRss.Count != 0)) { foreach (var dbRss in allRss) { ViewData["AllRssTitle" + counter] = dbRss.Title; ViewData["AllRssUrl" + counter] = dbRss.Url; counter++; } ViewData["AllCounter"] = counter; } return View(); } rss = new RssItem(opendRss); CurrentRss = DbHelper.FindRss("Url", opendRss)[0].IdRss; } if (rss == null) { return View(); } counter = 0; if (!string.IsNullOrEmpty(rss.ImageChanel.ImgUrl)) { ViewData["Img"] = rss.ImageChanel.ImgUrl; } ViewData["Title"] = rss.Channel.Title; ViewData["Link"] = rss.Channel.Link; ViewData["Copy"] = rss.Channel.Copyright; foreach (var article in rss.Articles) { ViewData["ItemTitle" + counter] = article.Title; ViewData["Description" + counter] = article.Description; ViewData["PubDate" + counter] = article.PubDate; ViewData["Url" + counter] = article.Link; counter++; } ViewData["Counter"] = counter; if (value != null) { ViewData["Suc"] = value; } } catch (Exception e) { ViewData["Error"] = e.Message; } return View(); }