コード例 #1
0
        public void AddTrackFromFolder()
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Multiselect = true;
            openFileDialog.Filter      = "MP3 Files (*.mp3)|*.mp3|All files (*.*)|*.*";

            DialogResult result = openFileDialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                string[] files = openFileDialog.FileNames;

                if (files.Length == 1)
                {
                    ViewTrack newTrack = playlist.AddTrack(files[0]);

                    if (newTrack != null)
                    {
                        TrackList.Insert(0, newTrack);
                    }
                }
                else if (files.Length > 1)
                {
                    List <ViewTrack> newTracks = playlist.AddTrackList(files);

                    foreach (var track in newTracks)
                    {
                        TrackList.Insert(0, track);
                    }
                }
            }
        }
コード例 #2
0
ファイル: Mapper.cs プロジェクト: Kosmeee/MusKos
 public static Track EditTrackToTrack(ViewTrack viewTrack, Track track)
 {
     track.Id    = viewTrack.Id;
     track.Image = viewTrack.Image;
     track.Title = viewTrack.Title;
     track.Url   = viewTrack.Url;
     return(track);
 }
コード例 #3
0
ファイル: FindLogic.cs プロジェクト: isel-31612/Spotichelas
        public ViewTrack Track(string link)
        {
            var t = repo.getTrack(link);
            List <KeyValuePair <string, string> > artists = t.Artist.Select(x => new KeyValuePair <string, string>(simpleHref(x.Link), x.Name)).ToList();
            var vt = new ViewTrack(simpleHref(t.Link), t.Name, (int)t.Duration, artists, t.Album.Name, simpleHref(t.Album.Link));

            return(vt);
        }
コード例 #4
0
        public void AddTrack(ViewTrack viewTrack)
        {
            Track track = Mapper.ViewTrackToTrack(viewTrack);

            track.Artist = artistDomainService.Get(viewTrack.Artist.Id);
            track.Album  = albumDomainService.Get(viewTrack.Album.Id);
            track.Genre  = genreDomainService.Get(viewTrack.Genre.Id);
            trackDomainService.AddTrack(track);
        }
コード例 #5
0
        public void ChangeTrack(ViewTrack viewTrack)
        {
            Track track = trackDomainService.FindTrack(viewTrack.Id);

            track        = Mapper.EditTrackToTrack(viewTrack, track);
            track.Artist = artistDomainService.Get(viewTrack.Artist.Id);
            track.Album  = albumDomainService.Get(viewTrack.Album.Id);
            track.Genre  = genreDomainService.Get(viewTrack.Genre.Id);
            trackDomainService.ChangeTrack();
        }
コード例 #6
0
        private void NotifyToTop(int index)
        {
            ViewTrack track = TrackList[index];

            TrackList.Remove(track);

            TrackList.Insert(0, track);

            SelectedIndex = 0;
        }
コード例 #7
0
ファイル: TrackController.cs プロジェクト: Kosmeee/MusKos
        public ActionResult Edit(ViewTrack viewTrack)
        {
            if (ModelState.IsValid)
            {
                trackPresentationService.ChangeTrack(viewTrack);
                return(RedirectToAction("Index", "Admin"));
            }

            return(View("EditTrack", viewTrack));
        }
コード例 #8
0
        public bool RemoveTrack(ViewPlaylist p, ViewTrack t)
        {
            var playlist = repo.get <Playlist>(p.Id);

            if (playlist == null || !playlist.Tracks.ContainsKey(t.Href))
            {
                return(false);
            }
            playlist.Tracks.Remove(t.Href);
            return(true);
        }
コード例 #9
0
        public bool AddTrack(ViewPlaylist p, ViewTrack t)
        {
            var playlist = repo.get <Playlist>(p.Id);

            if (playlist == null || playlist.Tracks.ContainsKey(t.Href))
            {
                return(false);
            }
            playlist.Tracks.Add(t.Href, t.Name);
            return(true);
        }
コード例 #10
0
ファイル: TrackController.cs プロジェクト: Kosmeee/MusKos
        public ActionResult Add(ViewTrack viewTrack)
        {
            if (ModelState.IsValid)
            {
                viewTrack.AddedDate = DateTime.Now;
                trackPresentationService.AddTrack(viewTrack);
                return(RedirectToAction("Index", "Admin"));
            }

            return(View("EditTrack", new ViewTrack()));
        }
コード例 #11
0
ファイル: Mapper.cs プロジェクト: Kosmeee/MusKos
 public static Track ViewTrackToTrack(ViewTrack track)
 {
     return(new Track
     {
         AddedDate = track.AddedDate,
         Album = track.Album,
         Artist = track.Artist,
         Genre = track.Genre,
         Id = track.Id,
         Image = track.Image,
         Title = track.Title,
         Url = track.Url
     });
 }
コード例 #12
0
        public ActionResult TrackGet(string href)
        {
            String user = GetCurrentUserName();

            ViewPlaylist[] playlists = Rules.FindAll.PlaylistsWithWriteAccess(user);//Brings both owner and permissions with write playlists

            ViewBag.Playlists = from ViewPlaylist p in playlists
                                select new SelectListItem {
                Text = p.Name, Value = p.Id + ""
            };

            ViewTrack track = Rules.Find.Track(href);

            if (track == null)
            {
                return(new HttpStatusCodeResult(504));
            }
            return(View(track));
        }
コード例 #13
0
ファイル: TrackView.cs プロジェクト: isel-31612/Spotichelas
 public TrackView(ViewTrack track)
     : base(track.Name,
            H1(Text(string.Format("Track : {0}", track.Name))),
            P(Label("name", "Name"), Text(track.Name)),
            P(Label("duration", "Duration"), Text(track.Duration)),
            P(Label("album", "Album"), Text(track.Album.Value), A(ResolveUri.ForAlbum(track.Album.Key), "View")),
            H2(Text("Artists")),
            Ul(
                track.Artists.Select(art => Li(A(ResolveUri.ForArtist(art.Key), art.Value))).ToArray()
                ),
            TrackPlayer(track.Href),
            Ul(
                Li(A(ResolveUri.ForAddTrack(track.Href), "Adicionar")),
                Li(A(ResolveUri.ForPlaylist(), "Playlists")),
                Li(A(ResolveUri.ForSearch(), "Search"))
                )
            )
 {
 }
コード例 #14
0
 public void NotifyTrackState(ViewTrack track)
 {
     TrackImage = track.TrackImage;
     TrackName  = track.Name;
 }
コード例 #15
0
ファイル: ResolveUri.cs プロジェクト: isel-31612/Spotichelas
 public static string For(ViewTrack t)
 {
     return(string.Format("/track/{0}", t.Href));
 }