Example #1
0
    /// <summary>
    /// generates models list
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        //Gets asstes id's
        ws = new maker_service.WebService();

        int[] ids = ws.GetModelIds();

        for (int i = 0; i < ids.Length; i++)
        {
            AssetPanel.Controls.Add(GenerateAssetControl(i, ids[i]));
        }

        ws.CloseConnection();
    }
Example #2
0
    /// <summary>
    /// uploads model
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Upload_Click(object sender, EventArgs e)
    {
        string thumbnail = thumbnail_url.Text;
        string name      = model_name.Text;
        string desc      = description.Value;
        string user_id   = Session["user-id"].ToString();

        float[] positions = ConvertStringToFloatArray(model_position_data.Text);
        float[] colors    = ConvertStringToFloatArray(model_color_data.Text);
        float[] normals   = ConvertStringToFloatArray(model_normal_data.Text);
        float[] cameraPos = ConvertStringToFloatArray(camera_pos.Text);
        float[] lookingAt = ConvertStringToFloatArray(looking_at.Text);

        maker_service.WebService service = new maker_service.WebService();
        service.InsertModel((int)Session["user-id"], name, desc, positions, colors, normals, cameraPos, lookingAt, thumbnail);

        service.CloseConnection();
    }
Example #3
0
    /// <summary>
    /// generates asset tabs to enable a user to look at the models it created
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        colors    = new string[5];
        colors[0] = "rgb(216, 216, 216)";
        colors[1] = "rgb(252, 246, 189)";
        colors[2] = "rgb(208, 244, 222)";
        colors[3] = "rgb(222, 246, 202)";
        colors[4] = "rgb(248, 189, 196)";
        rnd       = new Random();

        ws = new maker_service.WebService();

        int[] ids = ws.GetModelIdsByUserId((int)Session["user-id"]);

        for (int i = 0; i < ids.Length; i++)// get asset list from web service and loop through
        {
            Asset_Holder.Controls.Add(GenerateAssetFile(i, ids.Length, ids[i]));
        }

        ws.CloseConnection();
    }
    /// <summary>
    /// gets model information from data base by model id in the url
    /// clear TempModels file
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        DirectoryInfo temp = new DirectoryInfo(Server.MapPath("/Resources/TempModels/"));

        foreach (FileInfo f in temp.GetFiles())
        {
            f.Delete();
        }

        string url = Request.Url.AbsoluteUri;// /Pages/AssetPage.aspx?item_id=200134

        try
        {
            model_id = int.Parse(url.Substring(url.IndexOf('?') + 1));

            ws = new maker_service.WebService();

            CreatorsName.Text     = GetUserName(model_id);
            CreatorsName.ToolTip  = CreatorsName.Text;
            AssetName.Text        = ws.GetModelName(model_id);
            AssetName.ToolTip     = AssetName.Text;
            AssetDescription.Text = ws.GetModelDescription(model_id);
            Rating.Text           = (Math.Floor(ws.GetRate(model_id) * 100) / 100).ToString();
            int      userRate = ws.GetModelUserRate(model_id, (int)Session["user-id"]);
            string[] info     = ws.GetModelInfo(model_id);

            camPos.Text    = info[0];
            camLookAt.Text = info[1];

            positions.Text = info[2];
            colors.Text    = info[3];
            normals.Text   = info[4];


            selectedImg0.CssClass = "shownImg";
            selectedImg1.CssClass = "shownImg";
            selectedImg2.CssClass = "shownImg";
            selectedImg3.CssClass = "shownImg";
            selectedImg4.CssClass = "shownImg";

            if (userRate < 5)
            {
                selectedImg4.CssClass = "hiddenImg";
            }
            if (userRate < 4)
            {
                selectedImg3.CssClass = "hiddenImg";
            }
            if (userRate < 3)
            {
                selectedImg2.CssClass = "hiddenImg";
            }
            if (userRate < 2)
            {
                selectedImg1.CssClass = "hiddenImg";
            }
            if (userRate < 1)
            {
                selectedImg0.CssClass = "hiddenImg";
            }

            ws.CloseConnection();
        }
        catch//if anything failed print Error 404
        {
            HtmlGenericControl errorCover = new HtmlGenericControl("div");
            errorCover.Attributes["style"] = "position:absolute; left:0%; top:0%; width:100%; height:100%; background-color:rgba(0,0,0,0.75);";
            HtmlGenericControl errorDiv = new HtmlGenericControl("div");
            errorDiv.Attributes["class"] = "errorPos panelColor";
            HtmlGenericControl errorMessage = new HtmlGenericControl("p");
            errorMessage.InnerHtml = "Error 404: it seems like this asset does not exist anymore!";
            errorDiv.Controls.Add(errorMessage);
            ErrorMessage.Controls.Add(errorCover);
            ErrorMessage.Controls.Add(errorDiv);
            ErrorMessage.CssClass = "ErrorMessage";
        }
    }
    /// <summary>
    /// log download at web service and generate a model file
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Download_Btn_Click(object sender, EventArgs e)
    {
        //log downloads
        ws.InsertDownload((int)Session["user-id"], model_id);

        //construct download file
        string path = Server.MapPath("/Resources/TempModels/" + (AssetName.Text).Replace(' ', '_').Replace('.', '_').Replace('-', '_').Replace(',', '_') + ".obj");

        //generate string lines array
        List <string> linesList = new List <string>();

        linesList.Add("#model-makertron 2100 - v2.0 model");
        linesList.Add("#created by - " + CreatorsName.Text);
        linesList.Add("o " + (AssetName.Text).Replace(' ', '_').Replace('.', '_').Replace('-', '_').Replace(',', '_'));

        string posText = positions.Text;
        string colText = colors.Text;
        string norText = normals.Text;

        int numVert = 0;

        char[] cArr = posText.ToCharArray();
        for (int i = 0; i < cArr.Length; i++)
        {
            if (cArr[i].Equals(','))
            {
                numVert++;
            }
        }
        numVert /= 3;

        float val1, val2, val3;

        val1 = val2 = val3 = 0;

        //insert v's into file
        for (int i = 0; i < numVert; i++)
        {
            val1    = float.Parse(posText.Substring(0, posText.IndexOf(',')));
            posText = posText.Substring(posText.IndexOf(',') + 1);

            val2    = float.Parse(posText.Substring(0, posText.IndexOf(',')));
            posText = posText.Substring(posText.IndexOf(',') + 1);

            val3    = float.Parse(posText.Substring(0, posText.IndexOf(',')));
            posText = posText.Substring(posText.IndexOf(',') + 1);

            linesList.Add("v " + val1 + " " + val2 + " " + val3);
        }

        //insert vn's into file
        for (int i = 0; i < numVert; i++)
        {
            val1    = float.Parse(norText.Substring(0, norText.IndexOf(',')));
            norText = norText.Substring(norText.IndexOf(',') + 1);

            val2    = float.Parse(norText.Substring(0, norText.IndexOf(',')));
            norText = norText.Substring(norText.IndexOf(',') + 1);

            val3    = float.Parse(norText.Substring(0, norText.IndexOf(',')));
            norText = norText.Substring(norText.IndexOf(',') + 1);

            linesList.Add("vn " + val1 + " " + val2 + " " + val3);
        }

        //insert vc's into file
        for (int i = 0; i < numVert; i++)
        {
            val1    = float.Parse(colText.Substring(0, colText.IndexOf(',')));
            colText = colText.Substring(colText.IndexOf(',') + 1);

            val2    = float.Parse(colText.Substring(0, colText.IndexOf(',')));
            colText = colText.Substring(colText.IndexOf(',') + 1);

            val3    = float.Parse(colText.Substring(0, colText.IndexOf(',')));
            colText = colText.Substring(colText.IndexOf(',') + 1);

            linesList.Add("vc " + val1 + " " + val2 + " " + val3);
        }

        for (int i = 0; i < numVert; i += 3)
        {
            linesList.Add("f " + i + "/" + i + "/" + i + " " + (i + 1) + "/" + (i + 1) + "/" + (i + 1) + " " + (i + 2) + "/" + (i + 2) + "/" + (i + 2));
        }


        ws.CloseConnection();

        //convert to string array
        string[] arr = new string[linesList.Count];
        for (int i = 0; i < arr.Length; i++)
        {
            arr[i] = linesList[i];
        }

        if (!File.Exists(path))
        {
            File.WriteAllLines(path, arr);
        }

        FileInfo file = new FileInfo(path);

        if (file.Exists)
        {
            try
            {
                Response.Clear();
                Response.ClearHeaders();
                Response.ClearContent();
                Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
                Response.AddHeader("Content-Length", file.Length.ToString());
                Response.ContentType = "text/plain";
                Response.Flush();
                Response.TransmitFile(file.FullName);
                Response.End();
            }
            catch
            {
            }
        }
    }
Example #6
0
    /// <summary>
    /// saves changes into data base
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void save_btn_Click(object sender, EventArgs e)
    {
        //passed validation
        if (dataTableName.Equals("users"))
        {
            SqlCommand sqlCommand;
            sqlConnection.Open();
            string sqlCmd = "UPDATE [Users] SET username = @newUsername, password = @newPassword, email = @newEmail, content_creator = @newContentCreator, content_consumer = @newContentConsumer, validated = @newValidated, RandomKey = @newRandomKey, user_color = @newUserColor, admin = @newAdmin Where Id = @oldId";
            for (int i = 1; i < table.Controls.Count - 1; i++)
            {// goes through all rows that are not Header or Footer
                TableRow tr = (TableRow)table.Controls[i];
                if (!((Image)tr.Controls[tr.Controls.Count - 1].Controls[1]).CssClass.Contains("not-changed"))
                {// row is changed
                    sqlCommand = new SqlCommand(sqlCmd, sqlConnection);
                    //cannot change id
                    sqlCommand.Parameters.AddWithValue("@newUsername", ((TextBox)tr.Controls[1].Controls[0]).Text);
                    sqlCommand.Parameters.AddWithValue("@newPassword", ((TextBox)tr.Controls[2].Controls[0]).Text);
                    sqlCommand.Parameters.AddWithValue("@newEmail", ((TextBox)tr.Controls[3].Controls[0]).Text);
                    if (((CheckBox)tr.Controls[4].Controls[0]).Checked)
                    {
                        sqlCommand.Parameters.AddWithValue("@newContentCreator", "True");
                    }
                    else
                    {
                        sqlCommand.Parameters.AddWithValue("@newContentCreator", "False");
                    }
                    if (((CheckBox)tr.Controls[5].Controls[0]).Checked)
                    {
                        sqlCommand.Parameters.AddWithValue("@newContentConsumer", "True");
                    }
                    else
                    {
                        sqlCommand.Parameters.AddWithValue("@newContentConsumer", "False");
                    }
                    if (((CheckBox)tr.Controls[6].Controls[0]).Checked)
                    {
                        sqlCommand.Parameters.AddWithValue("@newValidated", "True");
                    }
                    else
                    {
                        sqlCommand.Parameters.AddWithValue("@newValidated", "False");
                    }
                    sqlCommand.Parameters.AddWithValue("@newRandomKey", ((TextBox)tr.Controls[7].Controls[0]).Text);
                    sqlCommand.Parameters.AddWithValue("@newUserColor", ((TextBox)tr.Controls[8].Controls[0]).Text);
                    if (((CheckBox)tr.Controls[9].Controls[0]).Checked)
                    {
                        sqlCommand.Parameters.AddWithValue("@newAdmin", "True");
                    }
                    else
                    {
                        sqlCommand.Parameters.AddWithValue("@newAdmin", "False");
                    }
                    sqlCommand.Parameters.AddWithValue("@oldId", ((TableCell)tr.Controls[0]).ToolTip);

                    sqlCommand.ExecuteNonQuery();
                }
            }
            TableFooterRow footerRow = (TableFooterRow)table.Controls[table.Controls.Count - 1];
            if (((TextBox)footerRow.Controls[1].Controls[0]).Text.Length > 0 && InsertRowFull(footerRow, 1))
            {
                string insertCommand = "INSERT INTO [Users] VALUES(@newUsername, @newPassword, @newEmail, @newContentCreator, @newContentConsumer, @newValidated, @newRandomKey, @newUserColor, @newAdmin)";
                sqlCommand = new SqlCommand(insertCommand, sqlConnection);
                sqlCommand.Parameters.AddWithValue("@newUsername", ((TextBox)footerRow.Controls[1].Controls[0]).Text);
                sqlCommand.Parameters.AddWithValue("@newPassword", ((TextBox)footerRow.Controls[2].Controls[0]).Text);
                sqlCommand.Parameters.AddWithValue("@newEmail", ((TextBox)footerRow.Controls[3].Controls[0]).Text);
                if (((CheckBox)footerRow.Controls[4].Controls[0]).Checked)
                {
                    sqlCommand.Parameters.AddWithValue("@newContentCreator", "True");
                }
                else
                {
                    sqlCommand.Parameters.AddWithValue("@newContentCreator", "False");
                }
                if (((CheckBox)footerRow.Controls[5].Controls[0]).Checked)
                {
                    sqlCommand.Parameters.AddWithValue("@newContentConsumer", "True");
                }
                else
                {
                    sqlCommand.Parameters.AddWithValue("@newContentConsumer", "False");
                }
                if (((CheckBox)footerRow.Controls[6].Controls[0]).Checked)
                {
                    sqlCommand.Parameters.AddWithValue("@newValidated", "True");
                }
                else
                {
                    sqlCommand.Parameters.AddWithValue("@newValidated", "False");
                }
                sqlCommand.Parameters.AddWithValue("@newRandomKey", ((TextBox)footerRow.Controls[7].Controls[0]).Text);
                sqlCommand.Parameters.AddWithValue("@newUserColor", ((TextBox)footerRow.Controls[8].Controls[0]).Text);
                if (((CheckBox)footerRow.Controls[9].Controls[0]).Checked)
                {
                    sqlCommand.Parameters.AddWithValue("@newAdmin", "True");
                }
                else
                {
                    sqlCommand.Parameters.AddWithValue("@newAdmin", "False");
                }

                sqlCommand.ExecuteNonQuery();

                //Update WebService
                int id = 0;
                sqlCmd     = "SELECT Id FROM [Users] WHERE username = @username;";
                sqlCommand = new SqlCommand(sqlCmd, sqlConnection);
                sqlCommand.Parameters.AddWithValue("@username", ((TextBox)footerRow.Controls[1].Controls[0]).Text);
                SqlDataReader reader = sqlCommand.ExecuteReader();
                if (reader.Read())
                {
                    id = reader.GetInt32(0);
                }
                maker_service.WebService ws = new maker_service.WebService();
                ws.InsertUser(id);
            }

            sqlConnection.Close();
            Response.Redirect(Request.Url.AbsoluteUri);
        }
        if (dataTableName.Equals("models"))
        {
            ws.OpenConnection();

            string sqlCmd = "UPDATE [Models] SET User_Id = @newUser_Id, Creation_Date = @newCreation_Date, XML_File_Link = @newXML, name = @newName, description = @newDescription, Thumbnail = @newThumbnail Where Model_Id = @oldId";
            for (int i = 1; i < table.Controls.Count - 1; i++)
            {// goes through all rows that are not Header or Footer
                TableRow tr = (TableRow)table.Controls[i];
                if (!((Image)tr.Controls[tr.Controls.Count - 1].Controls[1]).CssClass.Contains("not-changed"))
                {// row is changed
                    string[] parameterNames  = { "@newUser_Id", "@newCreation_Date", "@newXML", "@newName", "@newDescription", "@newThumbnail", "@oldId" };
                    string[] parameterValues = new string[parameterNames.Length];
                    //cannot change id
                    parameterValues[0] = ((TextBox)tr.Controls[1].Controls[0]).Text;
                    parameterValues[1] = ((TextBox)tr.Controls[2].Controls[0]).Text;
                    parameterValues[2] = ((TextBox)tr.Controls[3].Controls[0]).Text;
                    parameterValues[3] = ((TextBox)tr.Controls[4].Controls[0]).Text;
                    parameterValues[4] = ((TextBox)tr.Controls[5].Controls[0]).Text;
                    parameterValues[5] = ((TextBox)tr.Controls[6].Controls[0]).Text;
                    parameterValues[6] = ((TableCell)tr.Controls[0]).ToolTip;

                    string[] parameterTypes = { "string", "datetime", "string", "string", "string", "string", "string" };

                    ws.GenericVoidQueryWithParameters(sqlCmd, parameterNames, parameterValues, parameterTypes);
                }
            }
            TableFooterRow footerRow = (TableFooterRow)table.Controls[table.Controls.Count - 1];
            if (((TextBox)footerRow.Controls[1].Controls[0]).Text.Length > 0 && InsertRowFull(footerRow, 1))
            {
                string[] parameterNames  = { "@newUser_Id", "@newCreation_Date", "@newXML", "@newName", "@newDescription", "@newThumbnail", "@oldId" };
                string[] parameterValues = new string[parameterNames.Length];
                //cannot change id
                parameterValues[0] = ((TextBox)footerRow.Controls[1].Controls[0]).Text;
                parameterValues[1] = ((TextBox)footerRow.Controls[2].Controls[0]).Text;
                parameterValues[2] = ((TextBox)footerRow.Controls[3].Controls[0]).Text;
                parameterValues[3] = ((TextBox)footerRow.Controls[4].Controls[0]).Text;
                parameterValues[4] = ((TextBox)footerRow.Controls[5].Controls[0]).Text;
                parameterValues[5] = ((TextBox)footerRow.Controls[6].Controls[0]).Text;
                parameterValues[6] = ((TableCell)footerRow.Controls[0]).ToolTip;

                string[] parameterTypes = { "int", "datetime", "string", "string", "string", "string", "int" };

                string insertCommand = "INSERT INTO [Models] VALUES(@newUser_Id, @newCreation_Date, @newXML, @newName, @newDescription, @newThumbnail);";

                ws.GenericVoidQueryWithParameters(insertCommand, parameterNames, parameterValues, parameterTypes);
            }

            ws.CloseConnection();
            Response.Redirect(Request.Url.AbsoluteUri);
        }



        if (dataTableName.Equals("downloads"))
        {
            ws.OpenConnection();

            string sqlCmd = "UPDATE [Downloads] SET User_Id = @newUser_Id, Model_Id = @newModel_Id, Download_Date = @newDownload_Date WHERE Download_Id = @oldId";
            for (int i = 1; i < table.Controls.Count - 1; i++)
            {// goes through all rows that are not Header or Footer
                TableRow tr = (TableRow)table.Controls[i];
                if (!((Image)tr.Controls[tr.Controls.Count - 1].Controls[1]).CssClass.Contains("not-changed"))
                {// row is changed
                    string[] parameterNames  = { "@newUser_Id", "@newModel_Id", "@newDownload_Date", "@oldId" };
                    string[] parameterValues = new string[parameterNames.Length];
                    //cannot change id
                    parameterValues[0] = ((TextBox)tr.Controls[1].Controls[0]).Text;
                    parameterValues[1] = ((TextBox)tr.Controls[2].Controls[0]).Text;
                    parameterValues[2] = ((TextBox)tr.Controls[3].Controls[0]).Text;
                    parameterValues[3] = ((TableCell)tr.Controls[0]).ToolTip;

                    string[] parameterTypes = { "int", "int", "datetime", "int" };

                    ws.GenericVoidQueryWithParameters(sqlCmd, parameterNames, parameterValues, parameterTypes);
                }
            }
            TableFooterRow footerRow = (TableFooterRow)table.Controls[table.Controls.Count - 1];
            if (((TextBox)footerRow.Controls[1].Controls[0]).Text.Length > 0 && InsertRowFull(footerRow, 1))
            {
                string[] parameterNames  = { "@newUser_Id", "@newModel_Id", "@newDownload_Date" };
                string[] parameterValues = new string[parameterNames.Length];
                //cannot change id
                parameterValues[0] = ((TextBox)footerRow.Controls[1].Controls[0]).Text;
                parameterValues[1] = ((TextBox)footerRow.Controls[2].Controls[0]).Text;
                parameterValues[2] = ((TextBox)footerRow.Controls[3].Controls[0]).Text;

                string[] parameterTypes = { "int", "int", "datetime" };

                string insertCommand = "INSERT INTO [Downloads] VALUES(@newUser_Id, @newModel_Id, @newDownload_Date);";

                ws.GenericVoidQueryWithParameters(insertCommand, parameterNames, parameterValues, parameterTypes);
            }

            ws.CloseConnection();
            Response.Redirect(Request.Url.AbsoluteUri);
        }

        if (dataTableName.Equals("ratings"))
        {
            ws.OpenConnection();

            string sqlCmd = "UPDATE [Ratings] SET User_Id = @newUser_Id, Model_Id = @newModel_Id, Value = @newValue WHERE Rate_Id = @oldId";
            for (int i = 1; i < table.Controls.Count - 1; i++)
            {// goes through all rows that are not Header or Footer
                TableRow tr = (TableRow)table.Controls[i];
                if (!((Image)tr.Controls[tr.Controls.Count - 1].Controls[1]).CssClass.Contains("not-changed"))
                {// row is changed
                    string[] parameterNames  = { "@newUser_Id", "@newModel_Id", "@newValue", "@oldId" };
                    string[] parameterValues = new string[parameterNames.Length];
                    //cannot change id
                    parameterValues[0] = ((TextBox)tr.Controls[1].Controls[0]).Text;
                    parameterValues[1] = ((TextBox)tr.Controls[2].Controls[0]).Text;
                    parameterValues[2] = ((TextBox)tr.Controls[3].Controls[0]).Text;
                    parameterValues[3] = ((TableCell)tr.Controls[0]).ToolTip;

                    string[] parameterTypes = { "int", "int", "int", "int" };

                    ws.GenericVoidQueryWithParameters(sqlCmd, parameterNames, parameterValues, parameterTypes);
                }
            }
            TableFooterRow footerRow = (TableFooterRow)table.Controls[table.Controls.Count - 1];
            if (((TextBox)footerRow.Controls[1].Controls[0]).Text.Length > 0 && InsertRowFull(footerRow, 1))
            {
                string[] parameterNames  = { "@newUser_Id", "@newModel_Id", "@newValue" };
                string[] parameterValues = new string[parameterNames.Length];
                //cannot change id
                parameterValues[0] = ((TextBox)footerRow.Controls[1].Controls[0]).Text;
                parameterValues[1] = ((TextBox)footerRow.Controls[2].Controls[0]).Text;
                parameterValues[2] = ((TextBox)footerRow.Controls[3].Controls[0]).Text;

                string[] parameterTypes = { "int", "int", "int" };

                string insertCommand = "INSERT INTO [Ratings] VALUES(@newUser_Id, @newModel_Id, @newValue);";

                ws.GenericVoidQueryWithParameters(insertCommand, parameterNames, parameterValues, parameterTypes);
            }

            ws.CloseConnection();
            Response.Redirect(Request.Url.AbsoluteUri);
        }
    }
Example #7
0
    /// <summary>
    /// create responsive table for each table by looking at the url
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        dataTableName = GetDataTableName(Request.Url.AbsoluteUri);
        if (dataTableName.Equals("users"))
        {
            table.CssClass = "table users-table Report1942Font";
            sqlConnection  = new SqlConnection(resources.ResourceManager.GetString("Connection_String"));
            sqlConnection.Open();
            string        sqlCmd     = "SELECT * FROM [Users]";
            SqlCommand    sqlCommand = new SqlCommand(sqlCmd, sqlConnection);
            SqlDataReader reader     = sqlCommand.ExecuteReader();

            string[] titles = { "ID", "Username", "Password", "Email", "Content Creator", "Content Consumer", "Validated", "RandomKey", "User Color", "Admin" };
            GenerateHeaderRow(titles);

            TableFooterRow footer_row = new TableFooterRow();

            int i       = 0;
            int counter = 0;

            if (reader.Read())
            {
                footer_row = GenerateFooterRow(reader, ref counter);
            }

            do
            {
                table.Controls.Add(GenerateTableRow(reader, i, ref counter));
                i++;
            } while (reader.Read());
            reader.Close();
            sqlConnection.Close();

            title.InnerHtml = "USERS";

            table.Controls.Add(footer_row);
        }
        if (dataTableName.Equals("models"))
        {
            table.CssClass = "table models-table Report1942Font";

            ws = new maker_service.WebService();

            string[] titles = { "Model ID", "User ID", "Date", "Data Path", "Name", "Description", "Thumbnail" };

            GenerateHeaderRow(titles);

            ws.OpenConnection();

            DataSet dataset = ws.GenericReaderQuery("SELECT * FROM [Models]");

            TableFooterRow footer_row = new TableFooterRow();

            int i       = 0;
            int counter = 0;

            DataTableReader reader = dataset.Tables[0].CreateDataReader();

            if (reader.Read())
            {
                footer_row = GenerateFooterRow(reader, ref counter);
            }

            do
            {
                table.Controls.Add(GenerateTableRow(reader, i, ref counter));
                i++;
            } while (reader.Read());
            reader.Close();
            ws.CloseConnection();

            title.InnerHtml = "MODELS";

            table.Controls.Add(footer_row);
        }


        if (dataTableName.Equals("downloads"))
        {
            table.CssClass = "table models-table Report1942Font";

            ws = new maker_service.WebService();

            string[] titles = { "Download ID", "User ID", "Model ID", "Download Date" };

            GenerateHeaderRow(titles);

            ws.OpenConnection();

            DataSet dataset = ws.GenericReaderQuery("SELECT * FROM [Downloads]");

            TableFooterRow footer_row = new TableFooterRow();

            int i       = 0;
            int counter = 0;

            DataTableReader reader = dataset.Tables[0].CreateDataReader();

            if (reader.Read())
            {
                footer_row = GenerateFooterRow(reader, ref counter);
            }

            do
            {
                table.Controls.Add(GenerateTableRow(reader, i, ref counter));
                i++;
            } while (reader.Read());
            reader.Close();
            ws.CloseConnection();

            title.InnerHtml = "Downloads";

            table.Controls.Add(footer_row);
        }

        if (dataTableName.Equals("ratings"))
        {
            table.CssClass = "table models-table Report1942Font";

            ws = new maker_service.WebService();

            string[] titles = { "Rate ID", "User ID", "Model ID", "Value" };

            GenerateHeaderRow(titles);

            ws.OpenConnection();

            DataSet dataset = ws.GenericReaderQuery("SELECT * FROM [Ratings]");

            TableFooterRow footer_row = new TableFooterRow();

            int i       = 0;
            int counter = 0;

            DataTableReader reader = dataset.Tables[0].CreateDataReader();

            if (reader.Read())
            {
                footer_row = GenerateFooterRow(reader, ref counter);
            }

            do
            {
                table.Controls.Add(GenerateTableRow(reader, i, ref counter));
                i++;
            } while (reader.Read());
            reader.Close();
            ws.CloseConnection();

            title.InnerHtml = "Ratings";

            table.Controls.Add(footer_row);
        }
    }