// GET /User/Index public ActionResult Index(String genre) { UserPageViewModel pageModel = new UserPageViewModel(); if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser))) { pageModel.user = (ViewUser)(Session["user"]); } else { return(Redirect("/")); } Neo4jDataProvider dbNeo4j = new Neo4jDataProvider(); RedisDataProvider dbRedis = new RedisDataProvider(); #region NavBarData if (genre == "All" || genre == "") { pageModel.genre = null; } else { pageModel.genre = genre; } //Getting artists pageModel.artists = dbNeo4j.ArtistRead(pageModel.genre); for (char c = 'A'; c <= 'Z'; c++) { if (pageModel.artists.ContainsKey(c.ToString())) { List <ViewArtist> tmp = pageModel.artists[c.ToString()]; pageModel.artists[c.ToString()] = tmp.OrderBy(x => x.name).ToList(); } } //Getting genres pageModel.genres = dbNeo4j.GenreRead(); pageModel.genres.Sort(); #endregion //Geting user created songs pageModel.userSongs = dbNeo4j.GetUserSongsAndDrafts(pageModel.user.name); //Geting user favorite songs pageModel.favoritSongs = dbNeo4j.UserGetFavoriteSongs(pageModel.user.name); //Getting user admin notification count pageModel.adminNotifications = dbRedis.GetAdminNotificationsCount(); //Geting user admin request songs pageModel.requestedSongs = dbNeo4j.SongDraftRead(); //User List pageModel.userList = dbNeo4j.UserRead(); //Getting statistics pageModel.songCount = dbRedis.GetSongCount(); if (pageModel.songCount == null || pageModel.songCount == "") { pageModel.songCount = "0"; } pageModel.artistCount = dbRedis.GetArtistCount(); if (pageModel.artistCount == null || pageModel.artistCount == "") { pageModel.artistCount = "0"; } pageModel.genreCount = dbRedis.GetGenreCount(); if (pageModel.genreCount == null || pageModel.genreCount == "") { pageModel.genreCount = "0"; } ViewBag.showNav = true; return(View(pageModel)); }
//GET /Song/Approve/ public ActionResult Approve(string user, string artist, string name, string content, string approve) { ViewBag.showNav = false; //Samo admin moze da appruvuje if (Session["user"] == null || ((ViewUser)Session["user"]).admin == false) { return(Redirect("/")); } PageViewModel pageModel = new PageViewModel(); pageModel.user = (ViewUser)(Session["user"]); Neo4jDataProvider dbNeo4j = new Neo4jDataProvider(); if (approve != null) { //Promenjeni podatci ViewSong draft = new ViewSong(); draft.creator = user; draft.name = name; draft.content = content; draft.artist = artist; draft.approved = false; draft.date = DateTime.Now.ToString("dd-MM-yyyy"); ViewBag.draft = draft; if (artist == null && name == null && content == null) { return(View(pageModel)); } if (artist == null || name == null || content == null) { ViewBag.error = "Data is missing from required fields."; } else if (artist.Length < 1 || name.Length < 1 || content.Length < 1) { ViewBag.error = "Data is missing from required fields."; } if (ViewBag.error != null) { return(View(pageModel)); } //Provera da li postoji Artist List <string> allArtists = dbNeo4j.ArtistRead(); if (!allArtists.Contains(artist)) { ViewBag.noArtist = true; return(View(pageModel)); } //Kriranje nove pesme Song song = new Song(); song.name = name; song.content = content; song.date = DateTime.Now.ToString("dd-MM-yyyy"); song.link = "/" + artist + "/" + user + "/"; dbNeo4j.SongCreate(song, user, artist); SongDraft songDraft = new SongDraft(); songDraft.name = name; songDraft.artist = artist; dbNeo4j.SongDraftDelete(songDraft, user); dbNeo4j.SongRequestDelete(artist, name); return(Redirect("/User/")); } ViewBag.draft = dbNeo4j.SongDraftRead(user, artist, name); return(View(pageModel)); }