コード例 #1
0
    /// <summary>
    /// this is the effect of pressing the 'add genre' button.
    /// it adds the ddl genre as a reference to the song that is being updated
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void AddGenreButton_Click(object sender, EventArgs e)
    {
        int songID  = int.Parse(EditingSongID.Text);
        int genreID = int.Parse(GenreToAddDDL.SelectedValue);
        GenreToSongController gtos = new GenreToSongController();

        try
        {
            if (songID == -1)
            {
                Message.Text = "Song not yet created; pleas create the song before adding Genre(s)";
            }
            else if (genreID == 0)
            {
                Message.Text = "No Genre has been selected; please select a genre to add";
            }
            else if (gtos.CheckRefExists(songID, genreID))
            {
                Message.Text = "Genre has already been added; please select a different genre to add";
            }
            else
            {
                gtos.CreateReference(songID, genreID);
                LoadEditData();
                Message.Text = "The Genre '" + GenreToAddDDL.SelectedItem.ToString() + "' has been sucessfuly added";

                //reset the item to 'select...'
                GenreToAddDDL.SelectedIndex = 0;
            }
        }
        catch (Exception ex)
        {
            Message.Text = GetInerException(ex).Message;
        }
    }
コード例 #2
0
 /// <summary>
 /// this is for removing and viewing genres of the song that is currently being edited
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void EditingGenres_GridView_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "Delete")
     {
         e.Handled = true;
         int   index                = Convert.ToInt32(e.CommandArgument);
         Label genreIDController    = (Label)EditingGenres_GridView.Rows[index].FindControl("EditingGenreID");
         Label genreNameController  = (Label)EditingGenres_GridView.Rows[index].FindControl("EditingGenre");
         GenreToSongController gtos = new GenreToSongController();
         try
         {
             gtos.RemoveReference(int.Parse(EditingSongID.Text), int.Parse(genreIDController.Text));
             LoadEditData();
             Message.Text = "The Genre '" + genreNameController.Text + "' has been sucessfuly removed";
         }
         catch (Exception ex)
         {
             Message.Text = GetInerException(ex).ToString();
         }
     }
 }
コード例 #3
0
    private void LoadEditData()
    {
        ArtistToSongController atos = new ArtistToSongController();
        FiletypeController     fc   = new FiletypeController();
        GenreToSongController  gtos = new GenreToSongController();
        RatingToSongController rtos = new RatingToSongController();
        SongController         sc   = new SongController();

        try
        {
            //reset the ddl so that its on the first one which is 'Select...'
            //manualy adding all the rows so that Select... is the first one and Editing FiletypeDDL doesn't get stacking data
            DataTable t = new DataTable();
            t.Columns.Add("FiletypeID");
            t.Columns.Add("Filetype");
            t.Rows.Add(new string[] { "0", "Select..." });
            foreach (DataRow dr in fc.GetFiletypes().Rows)
            {
                t.Rows.Add(new string[] { dr.Field <int>("FiletypeID").ToString(), dr.Field <string>("Filetype") });
            }

            EditingFiletypeDDL.DataSource     = t;
            EditingFiletypeDDL.DataTextField  = "Filetype";
            EditingFiletypeDDL.DataValueField = "FiletypeID";
            EditingFiletypeDDL.DataBind();

            //no song selected
            if (EditingSongID.Text == "-1")
            {
                //clear the song information
                EditingSongName.Text = "";

                //make sure its on 'select'
                EditingFiletypeDDL.SelectedIndex = 0;

                //make sure that all of the editing gridviews show emty if there aren't any
                EditingArtists_GridView.DataBind();
                EditingRatings_GridView.DataBind();
                EditingGenres_GridView.DataBind();

                //determine which button will be used on the edit/add tab
                Update_SongNameAndFiletype.Visible = false;
                Create_NewSong.Visible             = true;
            }
            //a song is being edited
            else
            {
                int       songid = int.Parse(EditingSongID.Text);
                DataTable songT  = sc.fetchSong(songid);
                EditingSongName.Text = songT.Rows[0].Field <string>("SongName");
                //make sure its on the right value
                EditingFiletypeDDL.SelectedValue = songT.Rows[0].Field <int>("FiletypeID").ToString();

                #region Load and Bind Artists
                DataTable artistT = atos.GetArtistToSongInfo(songid);
                EditingArtists_GridView.DataSource = artistT;
                EditingArtists_GridView.DataBind();
                #endregion

                #region Load and Bind Ratings
                DataTable ratingT = rtos.GetRatingToSongInfo(songid);
                EditingRatings_GridView.DataSource = ratingT;
                EditingRatings_GridView.DataBind();
                #endregion

                #region Load and Bind Genres

                DataTable genreT = gtos.GetGenreToSongInfo(songid);
                EditingGenres_GridView.DataSource = genreT;
                EditingGenres_GridView.DataBind();
                #endregion

                //set the update button to being visable, and turn the add/create button invisable
                Update_SongNameAndFiletype.Visible = true;
                Create_NewSong.Visible             = false;
            }
            EditingFiletypeDDL.DataBind();
        }
        catch (Exception ex)
        {
            Message.Text = GetInerException(ex).ToString();
        }
    }