//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()); }
//Add Tags to Review public static string AddTagsToReview(ReviewObject review) { List <TagObject> tags = review.getTags(); return(AddTagsToReview(review, tags)); }