Ejemplo n.º 1
0
        public MainPage()
        {
            InitializeComponent();

            // Create WebClient and get first data
            m_WebClient = new WebClient();
            m_WebClient.BaseAddress = "http://api.forismatic.com/api/1.0/";

            m_WebClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(ReadAnswer);

            // Random to generate random key
            Random random = new Random();
            m_WebClient.DownloadStringAsync(new Uri(apiUrl + "&key=" + random.Next(999999) ));

            // Disable refresh button during get new data
            refreshButton.IsEnabled = false;

            m_Quote = new Quote();
        }
Ejemplo n.º 2
0
        private void ReadAnswer(Object sender, DownloadStringCompletedEventArgs e)
        {
            if (!e.Cancelled && e.Error == null)
            {
                m_Quote = Quote.Parse(e.Result.ToString());

                quoteText.Text = m_Quote.Text;
                if (m_Quote.Author != String.Empty)
                {
                    quoteAuthor.Text = m_Quote.Author;
                }

                // Set Twitter button Uri.
                string twitterUrl = String.Empty;
                if (quoteAuthor.Text != String.Empty)
                {
                    twitterUrl = String.Format("http://twitter.com/home?status={0}©{1}.{2}", HttpUtility.UrlEncode(quoteText.Text), HttpUtility.UrlEncode(quoteAuthor.Text), HttpUtility.UrlEncode("#forismatic") );
                    twitterUrl = twitterShareUrl + HttpUtility.UrlEncode(quoteText.Text + "©" + quoteAuthor.Text + " #forismatic");
                }
                else if (quoteText.Text != String.Empty)
                {
                    twitterUrl = twitterShareUrl + HttpUtility.UrlEncode(quoteText.Text + " #forismatic");
                }
                twitterButton.NavigateUri = new Uri(twitterUrl);

                // Set Facebook button Uri.
                string facebookUrl = String.Empty;
                if (m_Quote.Link != String.Empty)
                {
                    facebookUrl = m_FacebookShareUrl + m_Quote.Link;
                }
                facebookButton.NavigateUri = new Uri(facebookUrl);

                // Set Vkontakte button Uri
                string vkontakteUrl = String.Empty;
                if (m_Quote.Link != String.Empty)
                {
                    if (m_Quote.Author != String.Empty)
                    {
                        vkontakteUrl = m_VkontakteShareUrl + m_Quote.Link + "&title=" + HttpUtility.UrlEncode(m_Quote.Text) + "&description=" + HttpUtility.UrlEncode(m_Quote.Text + "©" + m_Quote.Author);
                    }
                    else
                    {
                        vkontakteUrl = m_VkontakteShareUrl + m_Quote.Link + "&title=" + HttpUtility.UrlEncode(m_Quote.Text) + "&description=" + HttpUtility.UrlEncode(m_Quote.Text);
                    }
                }
                vkontakteButton.NavigateUri = new Uri(vkontakteUrl);

                // Set Wiki button Uri.
                if (m_Quote.Author != String.Empty)
                {
                    wikiButton.NavigateUri = new Uri(String.Format("http://ru.wikipedia.org/wiki/{0}", quoteAuthor.Text));
                    wikiButton.IsEnabled = true;
                }
                else
                {
                    wikiButton.IsEnabled = false;
                }
            }

            // Enable Refresh button
            refreshButton.IsEnabled = true;
        }