예제 #1
0
        private async void PostPage_Loaded(object sender, RoutedEventArgs e)
        {
            var res = await PostAPI.GetPostById(GeneralBlackboard.TryGetValue <int>(BlackBoardValues.EPostData), AppPersistent.UserToken);

            if (res.error)
            {
                DialogManager.ShowDialog("F U C K", res.message);
            }

            m_PostData = res.data[0];

            if (m_PostData != null)
            {
                wdgComment.PostID = m_PostData.id;
                m_PosterId        = m_PostData.owner_id;
                //wdgPost.CurrentPostData = post;
                //wdgPost.PostText = post.text;
                //wdgPost.ImageURL = post.attachments[0].photo.photo_medium;
                txtPost.Text          = m_PostData.text;
                imgPost.Source        = new BitmapImage(new Uri(m_PostData.attachments[0].photo.photo_medium, UriKind.Absolute));
                lblPosterName.Content = m_PostData.owner_name;
                //lblPosterName.IsEnabled = post.author_watch == 1 ? false : true;
                lblDate.Content = UnixTimeStampToDateTime(m_PostData.date).ToString();
                UpdateComments(m_PostData.id);
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            SetContentView(Resource.Layout.PostActivityLayout);

            Task t = Task.Run(async () => 
            {
                var res = await PostAPI.GetPostById(Intent.GetIntExtra("PostID", 0), AppPersistent.UserToken);
                if(res.error)
                {
                    FeedbackHelper.ShowPopup(this, res.message);
                    return;
                }
                m_PostData = res.data[0];
            });

            t.Wait();
            InitContent();
            m_CommentsList = FindViewById<ListView>(Resource.Id.PostCommentsList);
            Button sendBtn = FindViewById<Button>(Resource.Id.PostSendComment);
            sendBtn.Click += SendBtn_Click;
            //t.ContinueWith(ct => InitContent());
            t = Task.Run(async () =>
            {
                var res = await PostAPI.GetCommentsForPost(Intent.GetIntExtra("PostID", 0));
                if(res.error)
                {
                    return;
                }
                m_CommentsList.Adapter = new CommentAdapter(this, res.data);
            });
        }
예제 #3
0
        public async Task <List <PostData> > GetPosts(PostRequest filter)
        {
            var response = await PostAPI.GetAllPosts(filter, AppPersistent.UserToken);

            if (response.error)
            {
                return(new List <PostData>());
            }

            return(response.data);
        }
예제 #4
0
        private async void Dislike_Click(object sender, RoutedEventArgs e)
        {
            var result = await PostAPI.DislikeComment(CommentID, AppPersistent.UserToken);

            if (!result.error)
            {
                DialogManager.ShowDialog("Disliked", "Disliked");
            }
            else
            {
                DialogManager.ShowDialog("Error", result.message);
            }
        }
예제 #5
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            var res = await PostAPI.SendComment(PostID, txtContent.Text, bAnon.IsChecked, AppPersistent.UserToken);

            if (!res.error)
            {
                DialogManager.ShowDialog("S U C C", "Comment sent");
            }
            else
            {
                DialogManager.ShowDialog("Not S U C C", res.message);
            }

            txtContent.Text = "";
            bAnon.IsChecked = false;
        }
예제 #6
0
        private async void UpdateTimer_Tick(object sender, EventArgs e)
        {
            var res = await PostAPI.GetPostById(GeneralBlackboard.TryGetValue <int>(BlackBoardValues.EPostData), AppPersistent.UserToken);

            if (res.error)
            {
                DialogManager.ShowDialog("F U C K", res.message);
            }

            m_PostData = res.data[0];

            if (m_PostData != null)
            {
                UpdateComments(m_PostData.id);
            }
        }
        private async void SendBtn_Click(object sender, EventArgs e)
        {
            EditText content = FindViewById<EditText>(Resource.Id.PostCommentText);
            CheckBox anonCheck = FindViewById<CheckBox>(Resource.Id.PostCommentAnon);

            var res = await PostAPI.SendComment(Intent.GetIntExtra("PostID", 0), content.Text, anonCheck.Checked, AppPersistent.UserToken);

            if(res.error)
            {
                FeedbackHelper.ShowPopup(this, res.message);
            }
            else
            {
                FeedbackHelper.ShowPopup(this, "S U C C");
            }
        }
예제 #8
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                m_PostData.author_watch++;
                var res = await PostAPI.SubmitPost(m_PostData, AppPersistent.UserToken);

                if (!res.error)
                {
                    DialogManager.ShowDialog("S U C C", "Post submitted. Get a tea and wait");
                }
            }
            catch (Exception ex)
            {
                DialogManager.ShowDialog("Some rtarded shit happened", ex.Message);
            }
        }
예제 #9
0
 private async void btnViewsBoost_Click(object sender, RoutedEventArgs e)
 {
     LockButtons(true);
     try
     {
         for (int i = 0; i < Convert.ToInt32(txtViewsCount.Value); ++i)
         {
             await PostAPI.AddView(Convert.ToInt32(txtGroupId.Value), AppPersistent.UserToken);
         }
     }
     catch (Exception ex)
     {
         DialogManager.ShowDialog("Some rtarded shit happened", ex.Message);
     }
     DialogManager.ShowDialog("Success", "BOOOOSTED");
     LockButtons(false);
 }
예제 #10
0
        async void UpdateComments(int id)
        {
            var commentsData = await PostAPI.GetCommentsForPost(id);

            if (commentsData.data.Count == 0)
            {
                return;
            }
            lstComments.Items.Clear();
            for (int i = commentsData.data.Count - 1; i > -1; --i)
            {
                UserComment commentWidget = new UserComment();
                commentWidget.UserName  = commentsData.data[i].user.name;
                commentWidget.Comment   = commentsData.data[i].text;
                commentWidget.ImageURL  = commentsData.data[i].user.photo;
                commentWidget.UserID    = commentsData.data[i].user.id;
                commentWidget.CommentID = commentsData.data[i].id;
                lstComments.Items.Add(commentWidget);
            }
        }
예제 #11
0
        async Task <bool> UpdatePosts(PostRequest filters)
        {
            postsPanel.Items.Clear();
            var postsResponse = await PostAPI.GetAllPosts(filters, AppPersistent.UserToken);

            if (postsResponse == null)
            {
                return(false);
            }
            foreach (var post in postsResponse.data)
            {
                PostWidget widget = new PostWidget()
                {
                    PostText        = post.text,
                    ImageURL        = post.attachments[0].photo.photo_medium,
                    CurrentPostData = post
                };
                postsPanel.Items.Add(widget);
            }

            return(true);
        }
예제 #12
0
 private async void btnSpamComments_Click(object sender, RoutedEventArgs e)
 {
     if (m_SpamCommentsList != null && m_SpamCommentsList.Length > 0)
     {
         btnSpamComments.IsEnabled = false;
         try
         {
             Random rnd = new Random();
             for (int i = 0; i < txtCommentsCount.Value; ++i)
             {
                 int idx = rnd.Next(0, m_SpamCommentsList.Length - 1);
                 var res = await PostAPI.SendComment((int)txtPostId.Value, m_SpamCommentsList[idx], bAnonymousComments.IsChecked, AppPersistent.UserToken);
             }
         }
         catch (Exception ex)
         {
             DialogManager.ShowDialog("Some rtarded shit happened", ex.Message);
         }
         DialogManager.ShowDialog("Success", "Comment section destoroyed ;)");
         btnSpamComments.IsEnabled = true;
     }
 }
예제 #13
0
        private async void btnEditPost_Click(object sender, RoutedEventArgs e)
        {
            EditPostData postData = new EditPostData();

            postData.id   = (int)txtGroupId.Value;
            postData.text = txtPostText.Text;
            try
            {
                var res = await PostAPI.EditPost(postData, AppPersistent.UserToken);

                if (!res.error)
                {
                    DialogManager.ShowDialog("S U C C", "Post editing done");
                }
                else
                {
                    DialogManager.ShowDialog("Not S U C C", res.message);
                }
            }
            catch (Exception ex)
            {
                DialogManager.ShowDialog("Some rtarded shit happened", ex.Message);
            }
        }
예제 #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //create callback to get access token and request tokem
            LoginRadiusCallback callback = new LoginRadiusCallback();


            //If Request as LoginRadius callback, after user successfully loggedin on provider.
            if (callback.IsCallback)
            {
                //To get access token with the help of loginradius "api secret"
                var accessToken = callback.GetAccessToken(ConfigurationManager.AppSettings["apisecret"].ToString());

                //save token to session for further use
                Session["token"] = accessToken;

                try
                {
                    //create client with the help of access token as parameter
                    LoginRadiusClient client = new LoginRadiusClient(accessToken);

                    //create object to execute user profile api to get user profile data.
                    UserProfileAPI userprofile = new UserProfileAPI();

                    //To get ultimate user profile data with the help of user profile api object as parameter.
                    // and pass "LoginRadiusUltimateUserProfile" model as interface to map user profile data.
                    var userProfileData = client.GetResponse <LoginRadiusUltimateUserProfile>(userprofile);


                    if (userProfileData.Provider.ToLower() == "facebook" || userProfileData.Provider.ToLower() == "twitter" || userProfileData.Provider.ToLower() == "linkedin")
                    {
                        postmessage.Visible = true;
                    }
                    else
                    {
                        postmessage.Visible = false;
                    }
                    if (userProfileData.Provider.ToLower() == "twitter" || userProfileData.Provider.ToLower() == "linkedin")
                    {
                        directmessage.Visible = true;
                    }
                    else
                    {
                        directmessage.Visible = false;
                    }


                    name.Text = "<b>Full Name : </b>" + userProfileData.FullName;
                    if (userProfileData.Email != null)
                    {
                        emailid.Text = "<b>Email ID  : </b>" + userProfileData.Email[0].Value;
                    }
                    about.Text = "<b>About     : </b>" + userProfileData.About;
                    if (userProfileData.ImageUrl != null && userProfileData.ImageUrl != "")
                    {
                        userprofileimage.ImageUrl = userProfileData.ImageUrl;
                    }
                    else
                    {
                        userprofileimage.ImageUrl = "Content/images/no_image.png";
                    }

                    if (userProfileData.ID != null)
                    {
                        Truserid.Visible = true;
                    }
                    if (userProfileData.Gender != null)
                    {
                        Trgender.Visible = true;
                    }
                    if (userProfileData.Provider != null)
                    {
                        Trprovider.Visible = true;
                    }
                    if (userProfileData.ProfileName != null)
                    {
                        TrProfileName.Visible = true;
                    }
                    if (userProfileData.Age != null)
                    {
                        Trage.Visible = true;
                    }
                    if (userProfileData.Quota != null)
                    {
                        Trquota.Visible = true;
                    }
                    if (userProfileData.MainAddress != null)
                    {
                        TrMainAddress.Visible = true;
                    }
                    if (userProfileData.HomeTown != null)
                    {
                        TrHomeTown.Visible = true;
                    }
                    if (userProfileData.PhoneNumbers != null)
                    {
                        TrPhoneNumbers.Visible = true;
                    }
                    if (userProfileData.ProfileCountry != null)
                    {
                        TrProfileCountry.Visible = true;
                    }
                    if (userProfileData.ProfileUrl != null)
                    {
                        TrProfileUrl.Visible = true;
                    }
                    if (userProfileData.Religion != null)
                    {
                        TrReligion.Visible = true;
                    }
                    if (userProfileData.RelationshipStatus != null)
                    {
                        TrRelationshipStatus.Visible = true;
                    }
                    if (userProfileData.State != null)
                    {
                        TrState.Visible = true;
                    }
                    if (userProfileData.TimeZone != null)
                    {
                        Trtimezone.Visible = true;
                    }
                    if (userProfileData.LocalLanguage != null)
                    {
                        Trlocallanguage.Visible = true;
                    }
                    if (userProfileData.Website != null)
                    {
                        Trwebsite.Visible = true;
                    }
                    if (userProfileData.BirthDate != null)
                    {
                        Trdateofbirth.Visible = true;
                    }

                    gender.Text             = userProfileData.Gender;
                    age.Text                = userProfileData.Age;
                    dateofbirth.Text        = userProfileData.BirthDate;
                    website.Text            = userProfileData.Website;
                    locallanguage.Text      = userProfileData.LocalLanguage;
                    timezone.Text           = userProfileData.TimeZone;
                    State.Text              = userProfileData.State;
                    RelationshipStatus.Text = userProfileData.RelationshipStatus;
                    Religion.Text           = userProfileData.Religion;
                    ProfileCountry.Text     = userProfileData.ProfileCountry;
                    ProfileUrl.Text         = userProfileData.ProfileUrl;
                    HomeTown.Text           = userProfileData.HomeTown;
                    MainAddress.Text        = userProfileData.MainAddress;
                    userid.Text             = userProfileData.ID;
                    provider.Text           = userProfileData.Provider;
                    localcity.Text          = userProfileData.LocalCity;
                    localcountry.Text       = userProfileData.LocalCountry;
                    ProfileName.Text        = userProfileData.ProfileName;
                    quota.Text              = userProfileData.Quota;

                    if (userProfileData.Addresses != null)
                    {
                        address.Visible = true;
                    }
                    if (userProfileData.Positions != null)
                    {
                        position.Visible = true;
                    }
                    if (userProfileData.Educations != null)
                    {
                        educationss.Visible = true;
                    }
                    positions.DataSource = userProfileData.Positions;
                    positions.DataBind();
                    educations.DataSource = userProfileData.Educations;
                    educations.DataBind();
                    addresses.DataSource = userProfileData.Addresses;
                    addresses.DataBind();


                    //create object to execute album api to get albums
                    AlbumAPI albums = new AlbumAPI();

                    //To get albums data with the help of album api object as parameter.
                    // and pass "LoginRadiusAlbum" model as interface to map album data.
                    var userAlbums = client.GetResponse <List <LoginRadiusAlbum> >(albums);
                    Album.DataSource = userAlbums != null ? userAlbums : null;
                    Album.DataBind();

                    //create object to execute audio api to get audios
                    AudioAPI audios = new AudioAPI();

                    //To get audios data with the help of audio api object as parameter.
                    // and pass "LoginRadiusAudio" model as interface to map audio data.
                    var userAudios = client.GetResponse <List <LoginRadiusAudio> >(audios);
                    Audio.DataSource = userAudios != null ? userAudios : null;
                    Audio.DataBind();

                    //create object to execute checkin api to get checkins
                    CheckInAPI checkins = new CheckInAPI();

                    //To get checkins data with the help of checkin api object as parameter.
                    // and pass "LoginRadiusCheckIn" model as interface to map checkin data.
                    var userCheckins = client.GetResponse <List <LoginRadiusCheckIn> >(checkins);
                    CheckIn.DataSource = userCheckins != null ? userCheckins : null;
                    CheckIn.DataBind();

                    //create object to execute company api to get companies
                    CompanyAPI companies = new CompanyAPI();

                    //To get companies data with the help of company api object as parameter.
                    // and pass "LoginRadiusCompany" model as interface to map company data.
                    var userCompanies = client.GetResponse <List <LoginRadiusCompany> >(companies);
                    Company.DataSource = userCompanies != null ? userCompanies : null;
                    Company.DataBind();

                    //create object to execute contact api to get contacts
                    ContactAPI contacts = new ContactAPI();

                    //To get contacts data with the help of contact api object as parameter.
                    // and pass "LoginRadiusContact" model as interface to map contact data.
                    var userContacts = client.GetResponse <LoginRadiusCursorResponse <LoginRadiusContact> >(contacts);

                    Contact.DataSource = userContacts != null ? userContacts.Data : null;
                    Contact.DataBind();

                    //create object to execute event api to get events
                    EventAPI events = new EventAPI();

                    //To get events data with the help of event api object as parameter.
                    // and pass "LoginRadiusEvent" model as interface to map event data.
                    var userEvents = client.GetResponse <List <LoginRadiusEvent> >(events);
                    Event.DataSource = userEvents != null ? userEvents : null;
                    Event.DataBind();

                    //create object to execute following api to get followings
                    FollowingAPI followings = new FollowingAPI();

                    //To get followings data with the help of following api object as parameter.
                    // and pass "LoginRadiusFollowing" model as interface to map following data.
                    var userFollowings = client.GetResponse <List <LoginRadiusFollowing> >(followings);
                    Following.DataSource = userFollowings != null ? userFollowings : null;
                    Following.DataBind();

                    //create object to execute group api to get groups
                    GroupAPI groups = new GroupAPI();

                    //To get groups data with the help of group api object as parameter.
                    // and pass "LoginRadiusGroup" model as interface to map group data.
                    var userGroups = client.GetResponse <List <LoginRadiusGroup> >(groups);
                    Group.DataSource = userGroups != null ? userGroups : null;
                    Group.DataBind();

                    //create object to execute like api to get likes
                    LikeAPI likes = new LikeAPI();

                    //To get likes data with the help of like api object as parameter.
                    // and pass "LoginRadiusLike" model as interface to map like data.
                    var userLikes = client.GetResponse <List <LoginRadiusLike> >(likes);
                    Like.DataSource = userLikes != null ? userLikes : null;
                    Like.DataBind();


                    //create object to execute mention api to get mentions
                    MentionAPI mentions = new MentionAPI();

                    //To get mentions data with the help of mention api object as parameter.
                    // and pass "LoginRadiusMention" model as interface to map mention data.
                    var userMentions = client.GetResponse <List <LoginRadiusMention> >(mentions);
                    Mention.DataSource = userMentions != null ? userMentions : null;
                    Mention.DataBind();

                    //create object to execute page api to get pages
                    PageAPI pages = new PageAPI();

                    //To get pages data with the help of page api object as parameter.
                    // and pass "LoginRadiusPage" model as interface to map page data.
                    var userPages = client.GetResponse <List <LoginRadiusPage> >(pages);
                    Pages.DataSource = userPages != null ? userPages : null;
                    Pages.DataBind();

                    //create object to execute photo api to get photos
                    PhotoAPI photos = new PhotoAPI();

                    //To get photos data with the help of photo api object as parameter.
                    // and pass "LoginRadiusPhoto" model as interface to map photo data.
                    var userPhotos = client.GetResponse <List <LoginRadiusPhoto> >(photos);
                    Photo.DataSource = userPhotos != null ? userPhotos : null;
                    Photo.DataBind();

                    //create object to execute post api to get posts
                    PostAPI posts = new PostAPI();

                    //To get posts data with the help of post api object as parameter.
                    // and pass "LoginRadiusPost" model as interface to map post data.
                    var userPosts = client.GetResponse <List <LoginRadiusPost> >(posts);
                    Post.DataSource = userPosts != null ? userPosts : null;
                    Post.DataBind();

                    //create object to execute status api to get statuses
                    StatusAPI statuses = new StatusAPI();

                    //To get statuses data with the help of status api object as parameter.
                    // and pass "LoginRadiusStatus" model as interface to map status data.
                    var userStatuses = client.GetResponse <List <LoginRadiusStatus> >(statuses);
                    Statuses.DataSource = userStatuses != null ? userStatuses : null;
                    Statuses.DataBind();

                    //create object to execute video api to get videos
                    VideoAPI videos = new VideoAPI();

                    //To get videos data with the help of video api object as parameter.
                    // and pass "LoginRadiusVideo" model as interface to map video data.
                    var userVideos = client.GetResponse <List <LoginRadiusVideo> >(videos);
                    Video.DataSource = userVideos != null ? userVideos : null;
                    Video.DataBind();
                }
                catch (Exception ee)
                {
                    Response.Write(ee.StackTrace);
                }
            }
        }