public ActionResult PostTweet(string tweetText) { if (string.IsNullOrEmpty(tweetText)) { logger.Error("Null or empty string for post stt"); TempData["Error"] = "Null or empty string for post stt"; return(RedirectToAction("Index")); } else { TweetOutModel tweetOut = new TweetOutModel() { Content = tweetText }; try { TweetInModel tweetIn = TwitterService.PostTweet(tweetOut); TweetsModel.Tweets.Insert(0, tweetIn); } catch (Exception ex) { if (ex.Message.Contains("Twitter")) { logger.Error(ex.Message); TempData["Error"] = ex.Message; } else { throw; } } return(RedirectToAction("Index")); } }
/// <summary> /// /// </summary> /// <param name="tweetText"></param> /// <returns></returns> public static TweetInModel PostTweet(TweetOutModel outTweet) { if (outTweet == null) { throw new ArgumentNullException("outTweet"); } if (string.IsNullOrEmpty(outTweet.Content)) { throw new ArgumentException("PostTweet, text to post can not null or empty"); } string resourceUrl = "https://api.twitter.com/1.1/statuses/update.json"; var requestParameters = new Dictionary <string, string>(); requestParameters.Add("status", (outTweet.Content)); var request = helper.CreateRequest(resourceUrl, HttpMethod.Post, requestParameters); var response = helper.GetResponse(request); if (response.Contains("error")) { dynamic error = JsonConvert.DeserializeObject(response); ErrorModel errorModel = new ErrorModel(); foreach (var item in error.errors) { errorModel.Code = ((dynamic)item).code; errorModel.Message = ((dynamic)item).message; } throw new HttpException("Twitter error return: " + errorModel.Message); } dynamic tweetIn = JsonConvert.DeserializeObject(response); TweetInModel model = ConvertToTweetModel(tweetIn); return(model); }