Beispiel #1
0
 public UsersView(IEnumerable <User> users) :
     base("Users",
          H1(Text("User List"))
          , Ul(users.Select(user => Li(A(ResolveUri.For(user), user.Identity.Name))).ToArray())
          , H2(Text("Create a New User"))
          , Form("post", "/users", Label("username", "Username"), InputText("username")
                 , Label("password", "Password"), InputText("password", true)
                 , Label("submit", "Submit"), InputSubmit("Submit")
                 )
          )
 {
 }
Beispiel #2
0
 public AddTrackView(string href, ViewPlaylist[] playlists)
     : base("Add Track",
            H1(Text("Add Track")),
            Label("select", "Playlists"),
            Form("POST", ResolveUri.ForAddTrackTo(href),
                 InputBox("playlist",
                          playlists.Select(p => Option(p.Id + "", p.Name)).ToArray()
                          ),
                 InputSubmit("Choose")
                 )
            )
 {
 }
Beispiel #3
0
 public EpisodeView(string show, Season season, Episode episode) :
     base("Episode",
          A(ResolveUri.ForHome(), "Home")
          , H1(Text("TV Shows"))
          , H2(Text(show))
          , Ul(
              Li(Text("Season: "), Text(season.Name))
              , Li(Text("Title: "), Text(episode.Title))
              , Li(Text("Duration: "), Text("" + episode.Duration))
              , Li(Text("Synopsis: "), Text(episode.Synopsis))
              , Li(Text("Score: "), Text("" + episode.Score)))
          )
 {
 }
Beispiel #4
0
 public SearchView(List <ViewArtist> artists, SearchInfo info)
     : base("Search Results",
            H1(Text("Results")),
            H2(Text("Artists")),
            artists.Count > 0
         ? Ul(artists.Select(art => Li(Text(art.Name), A(ResolveUri.For(art), "View"))).ToArray())
         : Text("No results found"),
            //SearchFrame(info),
            Ul(
                Li(A(ResolveUri.ForHome(), "Home")),
                Li(A(ResolveUri.ForPlaylist(), "Playlists"))
                )
            )
 {
 }
Beispiel #5
0
        public HttpResponse Post(IEnumerable <KeyValuePair <string, string> > content)
        {
            var desc = content.Where(p => p.Key == "desc").Select(p => p.Value).FirstOrDefault();

            if (desc == null)
            {
                return(new HttpResponse(HttpStatusCode.BadRequest));
            }
            var td = new ToDo {
                Description = desc
            };

            _repo.Add(td);
            return(new HttpResponse(HttpStatusCode.SeeOther).WithHeader("Location", ResolveUri.For(td)));
        }
Beispiel #6
0
        private static IWritable[] InitContent(params IWritable[] c)
        {
            List <IWritable> content = new List <IWritable>
            {
                Div("nav", "sidebar",
                    Ul(Li(A(ResolveUri.ForUsers(), "Home"))
                       , Li(A(ResolveUri.ForShows(), "TV Shows"))
                       , Li(A(ResolveUri.ForProposals(), "Proposals List"))
                       )
                    )
            };

            content.AddRange(c);
            return(content.ToArray());
        }
Beispiel #7
0
 public ArtistView(ViewArtist artist)
     : base(artist.Name,
            H1(Text(string.Format("Artist : {0}", artist.Name))),
            P(Label("name", "Name"), Text(artist.Name)),
            H2(Text("Albuns")),
            Ul(
                artist.Albuns.Select(alb => Li(A(ResolveUri.ForAlbum(alb.Key), alb.Value))).ToArray()
                ),
            Ul(
                Li(A(ResolveUri.ForPlaylist(), "Playlists")),
                Li(A(ResolveUri.ForSearch(), "Search"))
                )
            )
 {
 }
Beispiel #8
0
 public SearchView(List <ViewTrack> tracks, SearchInfo info)
     : base("Search Results",
            H1(Text("Results")),
            H2(Text("Tracks")),
            tracks.Count > 0
         ? Ul(
                tracks.Select(trc => Li(Text(trc.Name), A(ResolveUri.For(trc), trc.Name))).ToArray()
                )
         : Text("No results found"),
            //SearchFrame(info),
            Ul(
                Li(A(ResolveUri.ForHome(), "Home")),
                Li(A(ResolveUri.ForPlaylist(), "Playlists"))
                )
            )
 {
 }
        public HttpResponseMessage Post(NameValueCollection content)
        {
            var desc = content["desc"];

            if (desc == null)
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }
            var td = new ToDo {
                Description = desc
            };

            _repo.Add(td);
            var resp = new HttpResponseMessage(HttpStatusCode.SeeOther);

            resp.Headers.Location = new Uri(ResolveUri.For(td));
            return(resp);
        }
Beispiel #10
0
        public ProposalForm() : base("New Proposal", H1(Text("New Show"))
                                     , Form(HttpMethod.Post, ResolveUri.ForNewProposal()
                                            , Label("show_name", "Show Name:"), InputText("show_name")
                                            , Label("show_description", "Show Description:"), InputText("show_description")

                                            /*, Label( "season_name", "Season Name:" )                        , InputText( "season_name" )
                                             * , Label( "season_start_date", "Season Start Date(dd-mm-yyyy):" ), InputText( "season_start_date" )
                                             * , Label( "season_end_date", "Season End Date(dd-mm-yyyy):" )    , InputText( "season_end_date" )
                                             * , Label( "episode_title", "Episode Title:" )                    , InputText( "episode_title" )
                                             * , Label( "episode_duration", "Episode Duration:" )              , InputText( "episode_duration" )
                                             * , Label( "episode_sinopsis", "Episode Sinopsis:" )              , InputText( "episode_sinopse" )
                                             * , Label( "episode_rating", "Episode Rating:" )                  , InputText( "episode_rating" )
                                             *
                                             */
                                            , InputSubmit("submit")
                                            )
                                     )
        {
        }
Beispiel #11
0
 public PlaylistDetailView(ViewPlaylist p)
     : base("Playlist Detail",
            H1(Text("Playlist Detail - " + p.Name)),
            H3(Text("Name: " + p.Name)),
            H3(Text("Description: " + p.Description)),
            H3(Text("Track List")),
            Ul(
                p.Tracks.Select(track => Li(
                                    A(ResolveUri.ForTrack(track.Key), track.Value),
                                    Form("POST", ResolveUri.ForRemoveTrack(p, track.Key), P(InputSubmit("Remove")))
                                    )).ToArray()
                ),
            Form("POST", ResolveUri.ForPlaylistRemove(p), P(InputSubmit("Delete"))),
            Form("GET", ResolveUri.ForPlaylistEdit(p), P(InputSubmit("Edit"))),
            P(A(ResolveUri.ForHome(), "Home")),
            P(A(ResolveUri.ForSearch(), "Search"))
            )
 {
 }
Beispiel #12
0
 public SeasonView(string show, Season season) :
     base("Season",
          A(ResolveUri.ForHome(), "Home")
          , H1(Text("TV Shows"))
          , H2(Text(show))
          , H3(Text(string.Format("Starts: {0}", season.Debut.ToString("d"))))
          , H3(Text(string.Format("Ends: {0}", season.Finale.ToString("d"))))
          , Ul(season.Episodes.Select(episode => Li(A(
                                                        ResolveUri.ForEpisode(ShowService.GetShowByName(show)
                                                                              , ShowService.GetSeason(show, season.Number)
                                                                              , ShowService.GetEpisodeByNumberShowAndSeason(show, season.Number, episode.Number)
                                                                              )
                                                        , episode.Title)
                                                    )
                                      ).ToArray()
               )
          )
 {
 }
Beispiel #13
0
 public SearchView()
     : base("Search Form",
            H1(Text("Search")),
            Form("POST", "/search",
                 InputText("search", "Search Query"),
                 InputBox("type",
                          Option("artists", "Artists"),
                          Option("albuns", "Albuns"),
                          Option("tracks", "Tracks")
                          ),
                 InputSubmit("Search")
                 ),
            Ul(
                Li(A(ResolveUri.ForHome(), "Home")),
                Li(A(ResolveUri.ForPlaylist(), "Playlists"))
                )
            )
 {
 }
Beispiel #14
0
 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"))
                )
            )
 {
 }
Beispiel #15
0
 public AlbumView(ViewAlbum album)
     : base(album.Name,
            H1(Text(string.Format("Album : {0}", album.Name))),
            P(Label("name", "Name"), Text(album.Name)),
            P(Label("year", "Release"), Text(album.Year)),
            H2(Text("Artists")),
            Ul(
                album.Artist.Select(a => Li(A(ResolveUri.ForArtist(a.Key), a.Value))).ToArray()
                ),
            H2(Text("Tracks")),
            Ul(
                album.Tracks.Select(trc => Li(A(ResolveUri.ForTrack(trc.Key), trc.Value))).ToArray()
                ),
            PlaylistPlayer(album.Name, album.Tracks.Select(track => track.Key).ToArray()),
            Ul(
                Li(A(ResolveUri.ForPlaylist(), "Playlists")),
                Li(A(ResolveUri.ForSearch(), "Search"))
                )
            )
 {
 }
        public HttpResponseMessage Post(NameValueCollection content)
        {
            CreatePlaylist cp       = new CreatePlaylist(content["name"], content["desc"]);
            var            playlist = Rules.Create.Playlist(cp);
            //retornar resposta
            var response = new HttpResponseMessage(HttpStatusCode.SeeOther);

            response.Headers.Location = new Uri(string.Format("http://localhost:8080{0}", ResolveUri.For(playlist)));
            return(response);
        }
        public HttpResponseMessage Remove(string href, int id)
        {
            //verificar
            var playlist = Rules.Find.Playlist(id);
            var track    = Rules.Find.Track(href);

            if (playlist == null || !Rules.Edit.RemoveTrack(playlist, track))
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }

            //retornar resposta
            var response = new HttpResponseMessage(HttpStatusCode.SeeOther);

            response.Headers.Location = new Uri(string.Format("http://localhost:8080{0}", ResolveUri.For(playlist)));
            return(response);
        }
        public HttpResponseMessage Delete(int id)
        {
            var p = Rules.Remove.Playlist(id);

            if (p == null)
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }
            var response = new HttpResponseMessage(HttpStatusCode.SeeOther);

            response.Headers.Location = new Uri(string.Format("http://localhost:8080{0}", ResolveUri.ForPlaylist()));
            return(response);
        }
        [HttpMethod("POST", "/playlist/{href}/add")]//TODO: would look better if playlist was a parameter too
        public HttpResponseMessage AddTrack(string href, NameValueCollection content)
        {
            string playlistId = content["playlist"];
            int    id         = int.Parse(playlistId);
            var    playlist   = Rules.Find.Playlist(id);
            var    track      = Rules.Find.Track(href);

            if (playlist == null || !Rules.Edit.AddTrack(playlist, track))
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }

            var response = new HttpResponseMessage(HttpStatusCode.SeeOther);

            response.Headers.Location = new Uri(string.Format("http://localhost:8080{0}", ResolveUri.For(playlist)));
            return(response);
        }
        public HttpResponseMessage Edit(int id, NameValueCollection content)
        {
            //verificar
            var pl = new EditPlaylist(id, content["name"], content["desc"]);
            var p  = Rules.Edit.PlaylistTo(pl);

            //retornar resposta
            var response = new HttpResponseMessage(HttpStatusCode.SeeOther);

            response.Headers.Location = new Uri(string.Format("http://localhost:8080{0}", ResolveUri.For(p)));
            return(response);
        }