Example #1
0
        protected void lnkLike_Click(object sender, EventArgs e)
        {
            int    postId   = PostId;
            string text     = PostText;
            string username = Session["Username"].ToString();

            string[] likeStuff = Likes.Split(':');
            int      likes     = int.Parse(likeStuff[1]);

            List <PostCard> allControls = new List <PostCard>();

            GetControlList <PostCard>(Page.Controls, allControls);


            string     url     = "https://localhost:44312/api/Like/CheckLike/" + username + "/" + postId;
            WebRequest request = WebRequest.Create(url);

            WebResponse  response = request.GetResponse();
            Stream       stream   = response.GetResponseStream();
            StreamReader reader   = new StreamReader(stream);
            bool         data     = bool.Parse(reader.ReadToEnd());

            reader.Close();
            response.Close();

            if (data)
            {
                // User has liked
                string     url2     = "https://localhost:44312/api/Like/DeleteLike/" + username + "/" + postId;
                WebRequest request2 = WebRequest.Create(url2);
                request2.Method      = "DELETE";
                request2.ContentType = "application/json";

                WebResponse  response2 = request2.GetResponse();
                Stream       stream2   = response2.GetResponseStream();
                StreamReader reader2   = new StreamReader(stream2);
                bool         data2     = bool.Parse(reader2.ReadToEnd());
                reader2.Close();
                response2.Close();

                if (data2)
                {
                    foreach (PostCard childControl in allControls)
                    {
                        if (childControl.PostId == postId)
                        {
                            string[] likeStuff2 = childControl.Likes.Split(':');
                            int      likes2     = int.Parse(likeStuff[1]);
                            childControl.Likes = (likes2 - 1).ToString();
                        }
                    }
                    // Likes = (likes - 1).ToString();
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Post has been unliked')", true);
                }
            }
            else
            {
                // User hasnt liked
                Like like = new Like(0, postId, username);
                JavaScriptSerializer js = new JavaScriptSerializer();

                string     url2     = "https://localhost:44312/api/Like/AddLike";
                WebRequest request2 = WebRequest.Create(url2);
                request2.Method        = "POST";
                request2.ContentType   = "application/json";
                request2.ContentLength = js.Serialize(like).Length;

                StreamWriter writer2 = new StreamWriter(request2.GetRequestStream());
                writer2.Write(js.Serialize(like));
                writer2.Flush();
                writer2.Close();

                WebResponse  response2 = request2.GetResponse();
                Stream       stream2   = response2.GetResponseStream();
                StreamReader reader2   = new StreamReader(stream2);
                bool         data2     = bool.Parse(reader2.ReadToEnd());
                reader2.Close();
                response2.Close();
                if (data2)
                {
                    foreach (PostCard childControl in allControls)
                    {
                        if (childControl.PostId == postId)
                        {
                            string[] likeStuff3 = childControl.Likes.Split(':');
                            int      likes3     = int.Parse(likeStuff[1]);
                            childControl.Likes = (likes3 + 1).ToString();
                        }
                    }
                    // Likes = (likes + 1).ToString();
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Post has been liked')", true);
                }
            }
        }
Example #2
0
 public List <long> GetLikesList()
 {
     return(Likes != "" ? Likes.Split(',').Select(long.Parse).ToList() : new List <long>());
 }