diff --git a/TwitterPractice/TwitterPractice/Controllers/HomeController.cs b/TwitterPractice/TwitterPractice/Controllers/HomeController.cs index 9e0c2d8..f22aba8 100644 --- a/TwitterPractice/TwitterPractice/Controllers/HomeController.cs +++ b/TwitterPractice/TwitterPractice/Controllers/HomeController.cs @@ -1,8 +1,5 @@ -using System; -using System.Configuration; -using System.Net; -using System.Web.Mvc; -using Newtonsoft.Json.Linq; +using System.Web.Mvc; +using TwitterPractice.Models; namespace TwitterPractice.Controllers @@ -10,12 +7,13 @@ namespace TwitterPractice.Controllers public class HomeController : Controller { private static string title = "Twitter Practice!"; - private static string requestTemplate; + private string requestTemplate; + private TwitterModels _twitterModels; public HomeController() : base() { - requestTemplate = ConfigurationManager.AppSettings["TwitterRequestTemplate"]; + _twitterModels = new TwitterModels(); } public ActionResult Index() @@ -26,18 +24,17 @@ namespace TwitterPractice.Controllers string username = Request.QueryString["username"]; if (null == username) { - username = "meatballhat"; + ViewBag.UserTimeline = null; + ViewBag.Username = null; } - ViewBag.UserTimeline = GetTwitterStream(username); - ViewBag.Username = username; + else + { + ViewBag.UserTimeline = _twitterModels.GetTwitterStream(username); + ViewBag.Username = username; + } return View(); } - private JArray GetTwitterStream(string username="meatballhat") - { - string requestUrl = String.Format(requestTemplate, username); - WebClient req = new WebClient(); - return JArray.Parse(req.DownloadString(requestUrl)); - } + } } diff --git a/TwitterPractice/TwitterPractice/Models/TwitterModels.cs b/TwitterPractice/TwitterPractice/Models/TwitterModels.cs new file mode 100644 index 0000000..40e9b1e --- /dev/null +++ b/TwitterPractice/TwitterPractice/Models/TwitterModels.cs @@ -0,0 +1,23 @@ +using System; +using System.Configuration; +using System.Net; +using Newtonsoft.Json.Linq; + +namespace TwitterPractice.Models +{ + public class TwitterModels + { + private string requestTemplate; + public TwitterModels() + { + requestTemplate = ConfigurationManager.AppSettings["TwitterRequestTemplate"]; + } + + public JArray GetTwitterStream(string username = "meatballhat") + { + string requestUrl = String.Format(requestTemplate, username); + WebClient req = new WebClient(); + return JArray.Parse(req.DownloadString(requestUrl)); + } + } +} \ No newline at end of file diff --git a/TwitterPractice/TwitterPractice/TwitterPractice.csproj b/TwitterPractice/TwitterPractice/TwitterPractice.csproj index 47cbf53..0abfce7 100644 --- a/TwitterPractice/TwitterPractice/TwitterPractice.csproj +++ b/TwitterPractice/TwitterPractice/TwitterPractice.csproj @@ -71,6 +71,7 @@ Global.asax + diff --git a/TwitterPractice/TwitterPractice/Views/Home/Index.cshtml b/TwitterPractice/TwitterPractice/Views/Home/Index.cshtml index 577d7bb..85e0a84 100644 --- a/TwitterPractice/TwitterPractice/Views/Home/Index.cshtml +++ b/TwitterPractice/TwitterPractice/Views/Home/Index.cshtml @@ -1,6 +1,12 @@ @using Newtonsoft.Json.Linq; @{ViewBag.Title = "Home Page";} +
+ + + +
+

@ViewBag.Message

@if (ViewBag.HasQsVars) { @@ -12,10 +18,13 @@ } } - + +@if (null != ViewBag.Username) +{

user timeline for @ViewBag.Username

+
    @foreach (JObject entry in ViewBag.UserTimeline) { @@ -24,6 +33,5 @@ }
- - -
\ No newline at end of file + +} \ No newline at end of file