public async Task ViewPlaylistAsync(EduardoContext context, string playlistName) { if (string.IsNullOrWhiteSpace(playlistName)) { return; } Models.Playlist playlist = await _playlistRepository.GetPlaylistAsync((long)context.User.Id, playlistName); if (playlist == null) { await context.Channel.SendMessageAsync($"No playlist found with name \"{playlistName}\""); return; } EmbedBuilder playlistBuilder = new EmbedBuilder() .WithColor(Color.DarkRed) .WithTitle(playlist.Name) .WithCurrentTimestamp(); if (playlist.Songs.Count > 0) { playlistBuilder = playlistBuilder .WithFieldsForList(playlist.Songs, x => x.Name, x => x.Url); } else { playlistBuilder = playlistBuilder .WithDescription($"This playlist doesn't contain any songs. Use ```{Constants.CMD_PREFIX}playlist add <playlist name> <song or url>``` to add a song"); } await context.Channel.SendMessageAsync(embed : playlistBuilder.Build()); }
public void Save(Models.Playlist ply) { var dbply = PlaylistMapper.ToDatabase(ply); _dbContext.Playlist.Add(dbply); _dbContext.SaveChanges(); //Console.WriteLine("\nSAVED"); }
public async Task <string> GetPlaylistTrackOneUrl(string token, Models.Playlist playlist) { var tracks = await _playlists.GetTracks(playlist.Id, accessToken : token, limit : 1); if (tracks.Total < 1) { return(null); } return(tracks.Items[0].Track.ExternalUrls.Spotify); }
public PlaylistAddOrUpdateResponseDto AddOrUpdate(PlaylistAddOrUpdateRequestDto request) { var entity = _repository.GetAll() .FirstOrDefault(x => x.Id == request.Id && x.IsDeleted == false); if (entity == null) { _repository.Add(entity = new Models.Playlist()); } entity.Name = request.Name; _uow.SaveChanges(); return(new PlaylistAddOrUpdateResponseDto(entity)); }
private static void GetPlaylistWithSongsFromReader(IDataReader reader, ref Models.Playlist playlist) { if (playlist == null) { playlist = GetPlaylistFromReader(reader); } if (reader.IsDBNull(reader.GetOrdinal("SONG_ID"))) { return; } playlist.Songs.Add(GetSongFromReader(reader)); }
void init(Track track = null, Models.Playlist playlist = null) { NavigationPage.SetHasNavigationBar(this, false); // Initialize pages this.Children.Add(new MusicPlayer(track, playlist) { Title = "Hudební přehrávač", IconImageSource = "player_ico.png" }); this.Children.Add(new PlaylistsPage() { Title = "Playlisty", IconImageSource = "playlist_ico.png" }); //this.Children.Add(new DownloadFromYouTube() { Title = "Stáhnout", IconImageSource = "youtube_ico.png" }); }
public ActionResult Delete(Guid id, Models.Playlist delPlaylist) { try { // TODO: Add delete logic here delPlaylist = currentUser.Playlists.Where(s => s.ID == id).FirstOrDefault(); currentUser.Playlists.Remove(delPlaylist); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Create(Models.Playlist newPlaylist) { try { // TODO: Add insert logic here newPlaylist.ID = Guid.NewGuid(); currentUser.Playlists.Add(newPlaylist); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Edit(Guid id, Models.Playlist upPlaylist) { try { // TODO: Add update logic here var oldPlaylist = currentUser.Playlists.Where(s => s.ID == id).FirstOrDefault(); currentUser.Playlists.Remove(oldPlaylist); currentUser.Playlists.Add(upPlaylist); return(RedirectToAction("Index")); } catch { return(View()); } }
public async Task <Models.Playlist> GetPlaylistAsync(long discordUserId, string playlistName) { AsyncDataReader dr = new AsyncDataReader("PLAYLIST_GetPlaylist", _credentials.DbConnectionString); dr.AddParameter("@DiscordUserId", discordUserId); dr.AddParameter("@PlaylistName", playlistName); Models.Playlist playlist = null; await dr.ExecuteReaderAsync(reader => { GetPlaylistWithSongsFromReader(reader, ref playlist); return(Task.CompletedTask); }); return(playlist); }
/// <inheritdoc/> public async Task AddVideosToPlaylistItem(IEnumerable <Models.Video> videos, Models.Playlist playlist) { // 入力の検証 foreach (var video in videos) { try { // 以下を参考にプレイリストに指定の動画を追加 // https://github.com/youtube/api-samples/blob/master/dotnet/Google.Apis.YouTube.Samples.Playlists/PlaylistUpdates.cs#L94 var actualPlaylistItem = new Google.Apis.YouTube.v3.Data.PlaylistItem(); actualPlaylistItem.Snippet = new PlaylistItemSnippet(); actualPlaylistItem.Snippet.PlaylistId = playlist.PlaylistId; actualPlaylistItem.Snippet.ResourceId = new ResourceId(); actualPlaylistItem.Snippet.ResourceId.Kind = "youtube#video"; actualPlaylistItem.Snippet.ResourceId.VideoId = video.VideoId; _ = await m_YouTubeService !.PlaylistItems.Insert(actualPlaylistItem, "snippet").ExecuteAsync(); } catch { // エラーが発生した場合は何もしない } } }
public MainPage(Track track = null, Models.Playlist playlist = null) { InitializeComponent(); init(track, playlist); }
protected override void Seed(YoutubeSystem.Data.YoutubeDbContext context) { if (context.Users.Any()) { return; } var admin = new Models.User() { FirstName = "peshoq", LastName = "someoneov", UserName = "******" }; for (int i = 1; i <= 5; i++) { var user = new Models.User() { FirstName = $"userFirstName{i}", LastName = $"userLastName{i}", UserName = $"user{i}" }; context.Users.Add(admin); } for (int i = 1; i < 31; i++) { var cat = new Models.Category() { Name = $"category{i}" }; context.Categories.Add(cat); context.SaveChanges(); } //var vid = new Models.Video() //{ // Url = "https://www.youtube.com/watch?v=M46Shg-Wves" //}; //context.Videos.Add(vid); //var rate = new Models.Rating() //{ // Value = 1 //}; //context.Ratings.Add(rate); for (int i = 1; i < 11; i++) { var playlist = new Models.Playlist() { Title = $"title{i}", Description = $"desc{i}", Author = admin, Category = context.Categories.FirstOrDefault(), DateCreated = DateTime.Now }; //playlist.Videos.Add(vid); //playlist.Ratings.Add(rate); context.Playlists.Add(playlist); } try { context.SaveChanges(); } catch (DbEntityValidationException ex) { StringBuilder sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } throw new DbEntityValidationException( "Entity Validation Failed - errors follow:\n" + sb.ToString(), ex ); // Add the original exception as the innerException } }
public PlaylistDto(Models.Playlist entity) { Id = entity.Id; Name = entity.Name; }
public PlaylistAddOrUpdateResponseDto(Models.Playlist entity) : base(entity) { }