Podcatcher.PodcastSqlModel.deleteSubscription C# (CSharp) Method

deleteSubscription() public method

public deleteSubscription ( Podcatcher.ViewModels.PodcastSubscriptionModel podcastModel ) : void
podcastModel Podcatcher.ViewModels.PodcastSubscriptionModel
return void
        public void deleteSubscription(PodcastSubscriptionModel podcastModel)
        {
            var queryDelEpisodes = from episode in Episodes
                                   where episode.PodcastId.Equals(podcastModel.PodcastId)
                                   select episode;

            foreach (var episode in queryDelEpisodes)
            {
                using (var episodeStore = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    try
                    {
                        Debug.WriteLine("Deleting downloaded episode: " + episode.EpisodeFile);
                        if (String.IsNullOrEmpty(episode.EpisodeFile) == false
                            && episodeStore.FileExists(episode.EpisodeFile))
                        {
                            episodeStore.DeleteFile(episode.EpisodeFile);
                        }
                    }
                    catch (IsolatedStorageException)
                    {
                    }
                }

                Episodes.DeleteOnSubmit(episode);
            }

            var queryDelSubscription = (from subscription in Subscriptions
                                        where subscription.PodcastId.Equals(podcastModel.PodcastId)
                                        select subscription).First();

            Subscriptions.DeleteOnSubmit(queryDelSubscription);
            SubmitChanges();
        }

Usage Example

        void deleteSubscriptionFromDB(object sender, DoWorkEventArgs e)
        {
            PodcastSubscriptionModel podcastModel = e.Argument as PodcastSubscriptionModel;

            using (var db = new PodcastSqlModel())
            {
                PodcastSubscriptionModel dbSubscription = db.Subscriptions.First(s => s.PodcastId == podcastModel.PodcastId);
                dbSubscription.cleanupForDeletion();
                db.deleteSubscription(dbSubscription);
            }

            e.Result = podcastModel;
        }
All Usage Examples Of Podcatcher.PodcastSqlModel::deleteSubscription