Example #1
0
        //Update a review entry;
        public static string UpdateReview(ReviewObject old_ro, ReviewObject new_ro)
        {
            StringBuilder SQL_Statement = new StringBuilder();

            SQL_Statement.Append("Update MusicReview Set ");

            if (new_ro.Title != null)
            {
                SQL_Statement.Append("Title = '" + new_ro.Title + "', ");
            }
            if (new_ro.Release_Date != -1)
            {
                SQL_Statement.Append("Release_Date = " + new_ro.Release_Date + ", ");
            }
            if (new_ro.Review_Date != -1)
            {
                SQL_Statement.Append("Review_Date = " + new_ro.Review_Date + ", ");
            }
            if (new_ro.Album != null)
            {
                SQL_Statement.Append("Album = '" + new_ro.Album + "', ");
            }
            if (new_ro.Artist != null)
            {
                SQL_Statement.Append("Artist = '" + new_ro.Artist + "', ");
            }
            if (new_ro.Rating != (float)-1.0)
            {
                SQL_Statement.Append("Rating = " + new_ro.Rating.ToString() + ", ");
            }
            if (new_ro.Review != null)
            {
                SQL_Statement.Append("Review = '" + new_ro.Review.Replace('\'', '"') + "', ");
            }
            if (new_ro.File_Path != null)
            {
                SQL_Statement.Append("File_Path = '" + new_ro.File_Path + "', ");
            }

            SQL_Statement.Remove(SQL_Statement.Length - 2, 2); //Remove the uneeeded ","

            SQL_Statement.Append(" Where Title = '" + old_ro.Title + "' AND Artist = '" + old_ro.Artist + "' AND Release_Date = " + old_ro.Release_Date.ToString() + "; ");

            //Update the Tags.
            List <TagObject> TagsToAdd    = new List <TagObject>();
            List <TagObject> TagsToRemove = new List <TagObject>();

            List <TagObject> New_Tags = new_ro.getTags();
            List <TagObject> Old_Tags = old_ro.getTags();

            foreach (TagObject Tag in New_Tags)
            {
                if (!Old_Tags.Contains(Tag))
                {
                    TagsToAdd.Add(Tag); Old_Tags.Remove(Tag);
                }
            }
            foreach (TagObject Tag in Old_Tags)
            {
                if (!New_Tags.Contains(Tag))
                {
                    TagsToRemove.Add(Tag);
                }
            }

            //Insert the new tags, remove the old tags.
            SQL_Statement.Append(AddTagsToReview(new_ro, TagsToAdd) + "; ");
            SQL_Statement.Append(RemoveTagsFromReview(new_ro, TagsToRemove) + "; ");

            return(SQL_Statement.ToString());
        }
Example #2
0
        //Add Tags to Review
        public static string AddTagsToReview(ReviewObject review)
        {
            List <TagObject> tags = review.getTags();

            return(AddTagsToReview(review, tags));
        }