protected void DeleteComment_Command(object sender, CommandEventArgs e)
        {
            int tweetId = Convert.ToInt32(Request.Params["tweetId"]);
            int commentId = Convert.ToInt32(e.CommandArgument);

            using (TwitterEntities context = new TwitterEntities())
            {
                Comment comment = context.Comments.Find(commentId);
                if (comment != null)
                {
                    try
                    {
                        context.Comments.Remove(comment);
                        context.SaveChanges();
                        ErrorSuccessNotifier.ShowAfterRedirect = true;
                        ErrorSuccessNotifier.AddSuccessMessage("Comment deleted.");
                        Response.Redirect("EditTweet?tweetId=" + tweetId, false);
                    }
                    catch (Exception ex)
                    {
                        ErrorSuccessNotifier.AddErrorMessage(ex);
                    }
                }
                else
                {
                    ErrorSuccessNotifier.AddErrorMessage("There is no such comment.");
                }

            }
        }
        protected void LinkButtonSave_Click(object sender, EventArgs e)
        {
            TwitterEntities context = new TwitterEntities();
            Comment comment;
            using (context)
            {
                comment = context.Comments.Find(this.commentId);
                if (comment != null)
                {
                    if (!string.IsNullOrEmpty(this.TextBoxText.Text))
                    {
                        comment.CommentText = this.TextBoxText.Text;
                    }
                    else
                    {
                        ErrorSuccessNotifier.AddErrorMessage("Please enter comment text.");
                        return;
                    }

                    if (!string.IsNullOrEmpty(this.TextBoxDate.Text))
                    {
                        try
                        {
                            comment.DatePosted = DateTime.Parse(this.TextBoxDate.Text);
                        }
                        catch (Exception ex)
                        {
                            ErrorSuccessNotifier.AddErrorMessage(ex);
                        }
                    }
                    else
                    {
                        comment.DatePosted = DateTime.Now;
                    }
                }
                try
                {
                    context.SaveChanges();
                    ErrorSuccessNotifier.ShowAfterRedirect = true;
                    ErrorSuccessNotifier.AddSuccessMessage("Comment edit successful");
                    Response.Redirect("EditTweet.aspx?tweetId=" + comment.TweetId, false);
                }
                catch (Exception ex)
                {
                    ErrorSuccessNotifier.AddErrorMessage(ex);
                    return;
                }
            }
        }
Esempio n. 3
0
        public void FormViewSettings_UpdateItem(string id)
        {
            using (var context = new TwitterEntities())
            {
                var user = context.AspNetUsers.FirstOrDefault(u => u.Id == id);
                if (user == null)
                {
                    // The item wasn't found
                    ModelState.AddModelError("", "гредЪ");
                    return;
                }

                TryUpdateModel(user);
                if (ModelState.IsValid)
                {
                    try
                    {
                        byte[] profileImage = ProcessUploadData();
                        if (profileImage != null)
                        {
                            user.Picture = profileImage;
                        }
                        var list = this.FormViewSettings.FindControl("CheckBoxListRoles") as CheckBoxList;
                        foreach (ListItem item in list.Items)
                        {
                            var role = context.AspNetRoles.First(r => r.Name == item.Text);
                            if (item.Selected)
                            {
                                user.AspNetRoles.Add(role);
                            }
                            else
                            {
                                user.AspNetRoles.Remove(role);
                            }
                        }

                        context.SaveChanges();
                        ErrorSuccessNotifier.ShowAfterRedirect = true;
                        ErrorSuccessNotifier.AddSuccessMessage("Profile edit successful.");
                        Response.Redirect("~/UserDetails.aspx?Username=" + user.UserName, false);
                    }
                    catch (Exception ex)
                    {
                        ErrorSuccessNotifier.AddErrorMessage(ex);
                    }
                }
            }
        }
        protected void ButtonAddComment_Click(object sender, EventArgs e)
        {
            //this.CommentBoxHolder.Visible = false;
            //if (Request.Params["TweetId"] == null)
            //{
            //    ModelState.AddModelError("", "Selected tweet doesn't exist in the database anymore.");
            //    return;
            //}

            using (var context = new TwitterEntities())
            {
                string commentText = this.CommentText.Text;
                this.CommentText.Text = "";
                this.tweetId = int.Parse(Request.Params["TweetId"]);
                Tweet currentTweet = context.Tweets.FirstOrDefault(t => t.TweetId == this.tweetId);

                string userId = string.Empty;
                try
                {
                    userId = User.Identity.GetUserId().ToString();
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "You need to be logged to comment.");
                    return;
                }

                Comment comment = new Comment()
                {
                    DatePosted = DateTime.Now,
                    TweetId = currentTweet.TweetId,
                    CommentText = commentText,
                    UserId = userId
                };

                context.Comments.Add(comment);
                try
                {
                    context.SaveChanges();
                    this.ListViewTweetComments.DataBind();
                }
                catch (Exception)
                {
                    // TODO
                    throw;
                }
            }
        }
        protected void LinkButtonSave_Click(object sender, EventArgs e)
        {
            int tweetId = Convert.ToInt32(Request.Params["tweetId"]);
            TwitterEntities context = new TwitterEntities();

            using (context)
            {
                Tweet currentTweet = context.Tweets.Find(tweetId);
                if (currentTweet != null)
                {
                    if (!string.IsNullOrEmpty(this.TextBoxTitle.Text))
                    {
                        currentTweet.TweetTitle = this.TextBoxTitle.Text;
                    }
                    else
                    {
                        ErrorSuccessNotifier.AddErrorMessage("Please enter tweet title.");
                        return;
                    }

                    if (!string.IsNullOrEmpty(this.TextBoxText.Text))
                    {
                        currentTweet.TweetText = this.TextBoxText.Text;
                    }
                    else
                    {
                        ErrorSuccessNotifier.AddErrorMessage("Please enter tweet text.");
                        return;
                    }

                    if (!string.IsNullOrEmpty(this.TextBoxDate.Text))
                    {
                        try
                        {
                            currentTweet.DatePosted = DateTime.Parse(this.TextBoxDate.Text);
                        }
                        catch (Exception ex)
                        {
                            ErrorSuccessNotifier.AddErrorMessage(ex);
                        }
                    }
                    else
                    {
                        currentTweet.DatePosted = DateTime.Now;
                    }
                }
                try
                {
                    byte[] image = ProcessUploadData();
                    if (image != null)
                    {
                        currentTweet.Image = image;
                    }

                    context.SaveChanges();
                    ErrorSuccessNotifier.ShowAfterRedirect = true;
                    ErrorSuccessNotifier.AddSuccessMessage("Tweet edit succesfull");
                    Response.Redirect("MyTweets.aspx", false);
                }
                catch (Exception ex)
                {
                    ErrorSuccessNotifier.AddErrorMessage(ex);
                    return;
                }
            }
        }
Esempio n. 6
0
        // The id parameter name should match the DataKeyNames value set on the control
        public void TweetsListView_DeleteItem(int tweetId)
        {
            TwitterEntities context = new TwitterEntities();

            using (context)
            {
                var comments = context.Comments.Where(t => t.TweetId.Equals(tweetId));
                Tweet tweet = context.Tweets.Find(tweetId);
                try
                {
                    if (comments.Count() > 0)
                    {
                        context.Comments.RemoveRange(comments);
                    }
                    context.Tweets.Remove(tweet);
                    context.SaveChanges();
                    ErrorSuccessNotifier.AddSuccessMessage("Delete successful.");
                }
                catch (Exception ex)
                {
                    ErrorSuccessNotifier.AddErrorMessage(ex);
                }
            }
        }
Esempio n. 7
0
        public void TweetsListView_InsertItem()
        {
            using (var context = new TwitterEntities())
            {
                var control = TweetsListView.InsertItem;

                try
                {
                    Tweet newTweet = new Tweet()
                    {
                        DatePosted = DateTime.Now,
                        UserId = Context.User.Identity.GetUserId(),
                        TweetText = (control.FindControl("TweetTextTb") as TextBox).Text,
                        TweetTitle = (control.FindControl("TweetTitleTb") as TextBox).Text,
                    };

                    context.Tweets.Add(newTweet);
                    context.SaveChanges();
                    ErrorSuccessNotifier.AddSuccessMessage("Tweet created.");
                }
                catch (Exception ex)
                {
                    ErrorSuccessNotifier.AddErrorMessage(ex);
                }
            }
        }