public void AppBar_NewTweet()
        {
            var status = new NewTweetModel();

            StorageService.UpdateTempNewTweet(status);
            NavigationService.UriFor <NewStatusPageViewModel>()
            .WithParam(o => o.Random, DateTime.Now.Ticks.ToString("x"))
            .Navigate();
        }
Beispiel #2
0
        public bool Put([FromBody] NewTweetModel model)
        {
            NewTweetDTO dto = new NewTweetDTO();

            dto.UserID  = Guid.Parse(model.UserID);
            dto.TweetID = model.TweetID;
            dto.Message = model.Message;
            return(tweetBusinessContext.UpdateTweet(dto));
        }
Beispiel #3
0
        public async Task <IHttpActionResult> Post([FromBody] NewTweetModel newTweetModel)
        {
            try
            {
                NewTweetDTO newTweetDTO = new NewTweetDTO();
                newTweetDTO.UserID  = Guid.Parse(newTweetModel.UserID);
                newTweetDTO.Message = newTweetModel.Message;
                newTweetDTO         = await tweetBusinessContext.CreateNewTweet(newTweetDTO);

                return(Ok(new { Tweet = newTweetDTO }));
            }
            catch (Exception e)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Forbidden, JsonConvert.SerializeObject(e.Message))));
            }
        }
Beispiel #4
0
 public void UpdateTempNewTweet(NewTweetModel status)
 {
     lock (locker)
     {
         var entity = context.TempDatas.FirstOrDefault(t => t.Type == TempType.NewStatus);
         if (entity == null)
         {
             entity = new TempData {
                 Type = TempType.NewStatus
             };
             context.TempDatas.InsertOnSubmit(entity);
         }
         entity.Data = SerializeObject(status);
         context.SubmitChanges();
     }
 }
Beispiel #5
0
        public void AppBar_Reply()
        {
            var newTweet = new NewTweetModel();

            newTweet.InReplyToStatusId = status.Id;
            var names = new List <string>();

            names.Add("@" + status.User.ScreenName);
            if (status.RetweetedStatus != null && status.RetweetedStatus.User != null)
            {
                names.Add("@" + status.RetweetedStatus.User.ScreenName);
            }
            if (status.Entities.UserMentions != null && status.Entities.UserMentions.Count != 0)
            {
                var users = status.Entities.UserMentions
                            .Where(m => m.ScreenName != App.UserSetting.ScreenName)
                            .Select(m => "@" + m.ScreenName);
                foreach (var user in users)
                {
                    if (!names.Contains(user))
                    {
                        names.Add(user);
                    }
                }
            }

            string text = string.Join(" ", names) + " ";

            newTweet.InReplyToUserName = "******" + status.User.ScreenName;
            newTweet.Text = text;
            newTweet.Type = NewTweetType.Reply;
            StorageService.UpdateTempNewTweet(newTweet);
            NavigationService.UriFor <NewStatusPageViewModel>()
            .WithParam(o => o.Random, DateTime.Now.Ticks.ToString("x"))
            .Navigate();
        }