using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

using System.Web.Script.Serialization;  // needed for JSON serializers

using System.IO;                        // needed for Stream and Stream Reader

using System.Net;                       // needed for the Web Request

using Core2WebAPI;                      // needed for the Team class

 

namespace WebAPIClient

{

    public partial class TeamWebAPI_Example : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

 

        }

 

        protected void btnFindTeam_Click(object sender, EventArgs e)

        {

            int id = 0;

            if (int.TryParse(txtID.Text, out id))

            {

                // Create an HTTP Web Request and get the HTTP Web Response from the server.

                WebRequest request = WebRequest.Create("http://cis-iis2.temple.edu/Users/pascucci/CIS3342/CoreWebAPI/api/teams/" + id);

                WebResponse response = request.GetResponse();

 

                // Read the data from the Web Response, which requires working with streams.

                Stream theDataStream = response.GetResponseStream();

                StreamReader reader = new StreamReader(theDataStream);

                String data = reader.ReadToEnd();

                reader.Close();

                response.Close();

 

                // Deserialize a JSON string into a Team object.

                JavaScriptSerializer js = new JavaScriptSerializer();

                Team team = js.Deserialize<Team>(data);

 

                if (team.Name != "")

                {

                    Team[] teams = new Team[1];

                    teams[0] = team;

 

                    gvTeams.DataSource = teams;

                    gvTeams.DataBind();

                    gvTeams.Visible = true;

                    lblErrorDisplay.Text = "";

                }

                else

                {

                    lblErrorDisplay.Text = "No team found by that id!";

                    gvTeams.Visible = false;

                }

            }

            else

            {

                lblErrorDisplay.Text = "You must enter a numerical value for id!";

            }

        }

 

        protected void btnDisplayAllTeams_Click(object sender, EventArgs e)

        {

            // Create an HTTP Web Request and get the HTTP Web Response from the server.

            WebRequest request = WebRequest.Create("http://cis-iis2.temple.edu/Users/pascucci/CIS3342/CoreWebAPI/api/teams/");

            WebResponse response = request.GetResponse();

 

            // Read the data from the Web Response, which requires working with streams.

            Stream theDataStream = response.GetResponseStream();

            StreamReader reader = new StreamReader(theDataStream);

            String data = reader.ReadToEnd();

            reader.Close();

            response.Close();

 

            // Deserialize a JSON string that contains an array of JSON objects into an Array of Team objects.

            JavaScriptSerializer js = new JavaScriptSerializer();

            Team[] teams = js.Deserialize<Team[]>(data);

 

            gvTeams.DataSource = teams;

            gvTeams.DataBind();

        }

    }

   

}