protected void RosterLV_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            int row = int.Parse(e.CommandArgument.ToString());

            if (e.CommandName.ToString() == "EditContestant")
            {
                foreach (ListViewItem item in RosterLV.Items)
                {
                    (item.FindControl("EditView") as Panel).Visible = false;
                    (item.FindControl("ItemView") as Panel).Visible = true;
                }
                (RosterLV.Items[row].FindControl("EditView") as Panel).Visible = true;
                (RosterLV.Items[row].FindControl("ItemView") as Panel).Visible = false;
            }
            if (e.CommandName.ToString() == "UpdateContestant")
            {
                MessageUserControl.TryRun(() =>
                {
                    RaceDetailController rdsysmgr = new RaceDetailController();
                    RosterView newitem            = new RosterView
                    {
                        RaceDetailID = int.Parse((RosterLV.Items[row].FindControl("ERaceDetailIDLabel") as Label).Text),
                        Name         = (RosterLV.Items[row].FindControl("ENameLabel") as Label).Text,
                        RaceFee      = 0,//decimal.Parse((RosterLV.Items[row].FindControl("ERaceFeeLabel") as Label).Text),
                        CarID        = int.Parse((RosterLV.Items[row].FindControl("ECarDDL") as DropDownList).SelectedValue),
                        RentalFee    = 0,
                        Placement    = string.IsNullOrEmpty((RosterLV.Items[row].FindControl("PlacementLabel") as Label).Text) ? 0 : int.Parse((RosterLV.Items[row].FindControl("PlacementLabel") as Label).Text),
                        Refunded     = (RosterLV.Items[row].FindControl("ERefundedCheckbox") as CheckBox).Checked,
                        Comment      = (RosterLV.Items[row].FindControl("ECommentTextBox") as TextBox).Text,
                        RefundReason = (RosterLV.Items[row].FindControl("EReasonTextBox") as TextBox).Text
                    };
                    rdsysmgr.Update_RosterView(int.Parse(EmployeeDDL.SelectedValue), int.Parse(RaceID.Text), newitem);
                }, "Success", "Successfully updated contestant.");

                RefreshRoster();
            }
            if (e.CommandName.ToString() == "CancelContestant")
            {
                RefreshRoster();
            }
            if (e.CommandName.ToString() == "InsertContestant")
            {
                MessageUserControl.TryRun(() =>
                {
                    RaceDetailController rdsysmgr = new RaceDetailController();
                    RosterView newitem            = new RosterView
                    {
                        Name         = (RosterLV.InsertItem.FindControl("IDriverDDL") as DropDownList).SelectedValue,
                        RaceFee      = decimal.Parse((RosterLV.Items[0].FindControl("ERaceFeeLabel") as Label).Text),
                        CarID        = int.Parse((RosterLV.InsertItem.FindControl("ICarDDL") as DropDownList).SelectedValue),
                        RentalFee    = 0,
                        Placement    = null,
                        Refunded     = false,
                        Comment      = null,
                        RefundReason = null
                    };
                    rdsysmgr.Insert_RosterView(int.Parse(EmployeeDDL.SelectedValue), int.Parse(RaceID.Text), newitem);
                }, "Success", "Successfully inserted contestant.");
                RefreshRoster();
            }
        }