public ActionResult EditPost(int id) { if (ModelState.IsValid) { String user = GetCurrentUserName(); ViewPlaylist playlist = Rules.Find.PlaylistWithOwnerAccess(id, user); if (playlist == null) { return(HttpNotFound()); } if (TryUpdateModel <ViewPlaylist>(playlist)) { Rules.Edit.PlaylistTo(playlist, user); return(RedirectToAction("Details", new { id = id })); } else { return(View("Edit"));//TODO: suposedly should display edit form with erros. } } else { return(View("Edit"));//TODO: suposedly should display edit form with erros. } }
public ActionResult DetailsGet(int id) { ViewPlaylist playlist = Rules.Find.PlaylistWithReadAccess(id, GetCurrentUserName()); if (playlist == null) { return(HttpNotFound()); } return(View("Details", playlist)); }
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); }
public PlaylistNewView(ViewPlaylist p) : base("New Playlist", H1(Text("Create a new playlist")), Form("post", ResolveUri.ForPlaylist(), Label("name", "Name: "), InputText("name", p == null ? "" : p.Name), Label("desc", "Description: "), InputText("desc", p == null ? "" : p.Description), P(InputSubmit("Submit")) ) ) { }
public ActionResult EditGet(int id) { String user = GetCurrentUserName(); ViewPlaylist playlist = Rules.Find.PlaylistWithOwnerAccess(id, user); if (playlist == null) { return(HttpNotFound()); } return(View("Edit", playlist)); }
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); }
public ViewPlaylist[] Playlists() { var pl = repo.getAll <Playlist>(); List <ViewPlaylist> list = new List <ViewPlaylist>(); foreach (var p in pl) { var vp = new ViewPlaylist(p.id, p.Name, p.Description, p.Tracks); list.Add(vp); } return(list.ToArray()); }
public bool RemoveUser(ViewPlaylist p, string oldUser, string CurrentUser) { Playlist playlist = repo.get(p.Id); if (playlist != null && playlist.Owner.Equals(CurrentUser)) { playlist.Shared.RemoveAll(per => per.User.Equals(oldUser)); repo.update(playlist); return(true); } return(false); }
public ViewPlaylist Playlist(int id) { Playlist p = repo.get <Playlist>(id); if (p == null && p.Tracks.Count > 0) { return(null); } var old = repo.remove <Playlist>(id); var removed = new ViewPlaylist(old.id, old.Name, old.Description); foreach (var track in old.Tracks) { removed.Tracks.Add(track.Key, track.Value); } return(removed); }
public ViewPlaylist PlaylistTo(ViewPlaylist editPlaylist, string CurrentUser) { Playlist oldP = repo.get(editPlaylist.Id); if (oldP == null || !oldP.Owner.Equals(CurrentUser)) { return(null); } oldP.Name = editPlaylist.Name; oldP.Description = editPlaylist.Description; Playlist edit = repo.update(oldP); if (edit != null) { return(new ViewPlaylist(edit)); } return(null); }
public ActionResult PermissionGet(int id) { String user = GetCurrentUserName(); ViewPlaylist playlist = Rules.Find.PlaylistWithOwnerAccess(id, user); if (playlist == null) { return(HttpNotFound()); } var tmp = from MembershipUser u in Membership.GetAllUsers() select new SelectListItem { Text = u.UserName, Value = u.UserName }; ViewBag.Users = tmp.Where(u => !u.Text.Equals(user)); return(View(playlist)); }
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")) ) { }
public ViewPlaylist Playlist(CreatePlaylist createPlaylist) { string name = createPlaylist.Name; string desc = createPlaylist.Description; if (name.Equals("") || desc.Equals("")) { return(null); } Playlist p = new Playlist(name, desc); Playlist[] matchingPlaylists = repo.getAll(p); if (matchingPlaylists.Length <= 0) { int id = repo.put(p); p.id = id; ViewPlaylist ret = new ViewPlaylist(p.id, p.Name, p.Description, p.Tracks); return(ret); } return(null); }
public static string For(ViewPlaylist p) { return(string.Format("/playlist/{0}", p.Id)); }
public static string ForPlaylistRemove(ViewPlaylist p) { return(string.Format("/playlist/{0}/delete", p.Id)); }
public static string ForPlaylistEdit(ViewPlaylist p) { return(string.Format("/playlist/{0}/edit", p.Id)); }
public static string ForRemoveTrack(ViewPlaylist pl, string href) { return(string.Format("/playlist/{0}/remove/{1}", href, pl.Id)); }