using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

public partial class DataGrid_Templates_Orders : System.Web.UI.UserControl
{
    //Declarations
    public APNSoft.WebControls.GridRow GridRow = null;
    string SessName = "dcvcsey5et23eb";

    protected void Page_Load(object sender, EventArgs e)
    {

        if (GridRow == null) return;

        lblCustomerID.Text = GridRow.Cells["CustomerID"].Value.ToString();
        lblCompanyName.Text = GridRow.Cells["CompanyName"].Value.ToString();
        lblContactName.Text = GridRow.Cells["ContactName"].Value.ToString();


        //Create DataTable object
        DataTable myDataTable = null;
        DataTable sessDataTable = null;

        //Check the DataTable in session
        if (Session[SessName] == null)
        {
            //Create new DataTable
            string SqlQuery = @"SELECT Customers.CustomerID, Orders.OrderID AS OrderID, " +
                @"Format(Orders.ShippedDate, 'mmm d yyyy') AS ShippedDate, " +
                @"Orders.Freight AS Freight FROM Customers INNER JOIN Orders ON " +
                @"Customers.CustomerID = Orders.CustomerID ORDER BY Orders.OrderID ASC;";

            sessDataTable = DataBase.GetDataTableOleDb(SqlQuery, "~/DataGrid/DataBases/Nwind.mdb");

            Session[SessName] = sessDataTable.Copy();
            myDataTable = sessDataTable;
        }
        else
        {
            sessDataTable = (DataTable)Session[SessName];
            myDataTable = sessDataTable.Copy();
        }


        //Set filter
        myDataTable.DefaultView.RowFilter = "CustomerID='" + GridRow.RowID + "'";


        StringBuilder Orders = new StringBuilder();

        //Walk through rows
        for (int i = 0; i < myDataTable.DefaultView.Count; i++)
        {
            Orders.Append(myDataTable.DefaultView[i].Row["OrderID"].ToString());
            Orders.Append(", ");
            Orders.Append(myDataTable.DefaultView[i].Row["ShippedDate"].ToString());
            Orders.Append(", ");
            Orders.Append("$" + myDataTable.DefaultView[i].Row["Freight"].ToString());
            Orders.Append("<br/>");
        }

        //Check for empty collection
        if (Orders.Length == 0) Orders.Append("&nbsp;<font color=red>No orders.</font><br/>");

        //Add Orders
        phOrders.Controls.Add(new LiteralControl(Orders.ToString()));
    }

}