// GET: User/Login
        public ActionResult Login(string email, string password)
        {
            ViewBag.showNav = false;
            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                return(Redirect("/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            User user = dbNeo4j.UserRead(email, password);

            if (user == null)
            {
                PageViewModel pageModel = new PageViewModel();

                ViewBag.error = "Wrong email or password.";
                if (email == null && password == null)
                {
                    ViewBag.error = null;
                }
                return(View(pageModel));
            }
            ViewUser vuser = new ViewUser(user);

            Session["user"] = vuser;
            return(Redirect("/User"));
        }
        //GET /User/CreateGenre/
        public ActionResult CreateGenre(string name)
        {
            //Samo admin dodaje zanr
            if (Session["user"] == null || ((ViewUser)Session["user"]).admin == false)
            {
                return(Redirect("/"));
            }

            if (name == null || name == "")
            {
                return(Redirect("/User/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            List <string> check = dbNeo4j.GenreRead();

            if (check.Contains(name))
            {
                return(Redirect("/User/#addGenreModal"));
            }
            else
            {
                Genre genre = new Genre();
                genre.name = name;
                dbNeo4j.GenreCreate(genre);
                return(Redirect("/User/"));
            }
        }
        //GET /SongRequest/Create/
        public ActionResult Create(string genre, string author, string artist, string song)
        {
            SongRequest songRequest = new SongRequest();

            songRequest.author = author;
            if (author.Equals(""))
            {
                songRequest.author = "Anonymous";
            }
            songRequest.artist = artist;
            songRequest.song   = song;
            songRequest.date   = DateTime.Now.ToString("dd-MM-yyyy");
            if (!artist.Equals("") || !song.Equals(""))
            {
                Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();
                dbNeo4j.SongRequestCreate(songRequest);
            }

            string redirectUri = "/";

            if (genre != null && genre != "")
            {
                redirectUri += "?genre=" + genre;
            }
            return(Redirect(redirectUri));
        }
        //GET /User/DeleteArtist/
        public ActionResult DeleteArtist(string name)
        {
            //Samo admin brise zanr
            if (Session["user"] == null || ((ViewUser)Session["user"]).admin == false)
            {
                return(Redirect("/"));
            }


            if (name == null || name == "")
            {
                return(Redirect("/User/"));
            }


            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            List <string> check = dbNeo4j.ArtistRead();

            if (!check.Contains(name))
            {
                return(Redirect("/User/#deleteArtistModal"));
            }
            else
            {
                dbNeo4j.ArtistDelete(name);
                return(Redirect("/User/"));
            }
        }
Exemple #5
0
        //GET /Song/DeleteFavorite/
        public ActionResult DeleteFavorite(string artist, string name)
        {
            ViewUser user;

            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                user = ((ViewUser)Session["user"]);
            }
            else
            {
                return(Redirect("/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();
            RedisDataProvider dbRedis = new RedisDataProvider();

            dbNeo4j.SongRemoveFromFavorites(name, artist, user.name);

            string uri = "";

            if (Request.UrlReferrer != null)
            {
                uri = Request.UrlReferrer.ToString();
            }
            return(Redirect(uri));
        }
Exemple #6
0
        public void DeleteAllData()
        {
            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();
            RedisDataProvider dbRedis = new RedisDataProvider();

            dbNeo4j.DeleteBase();
            dbRedis.DeleteAll();
        }
Exemple #7
0
        // GET: /Search/
        public ActionResult Index(string text, string genre)
        {
            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();
            RedisDataProvider dbRedis = new RedisDataProvider();

            ViewBag.showNav = true;
            SearchPageViewModel pageModel = new SearchPageViewModel();


            //Is loged
            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                pageModel.user = (ViewUser)(Session["user"]);
                dbRedis.AddSearchPhraseFromUser(pageModel.user.name, text);
            }



            List <string> redisResults = dbRedis.AutoComplete(pageModel.user != null ? pageModel.user.name : null, text, false);

            #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

            //Getting artist songs
            pageModel.matched = dbNeo4j.SearchResults(redisResults);
            pageModel.matched = pageModel.matched.OrderBy(x => x.artist + " - " + x.name).ToList();

            pageModel.text = text;

            return(View(pageModel));
        }
        //GET /User/Register
        public ActionResult Register(string name, string email, string password, string confirm)
        {
            PageViewModel pageModel = new PageViewModel();

            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                return(Redirect("/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            ViewBag.showNav = false;
            if (name == null && email == null && password == null && confirm == null)
            {
                return(View(pageModel));
            }
            if (password != confirm)
            {
                ViewBag.error = "Passwords don't match.";
            }
            if (dbNeo4j.UserExists(email, name))
            {
                ViewBag.error = "User already exists.Try different email or username.";
            }
            if (name == null || email == null || password == null || confirm == null)
            {
                ViewBag.error = "Data is missing from required fields.";
            }
            else if (name.Length < 1 || email.Length < 5 || password.Length < 5 || confirm.Length < 5)
            {
                ViewBag.error = "Some fields don't have required length.";
            }

            if (ViewBag.error != null)
            {
                return(View(pageModel));
            }

            User user = new User();

            user.name     = name;
            user.email    = email;
            user.password = password;
            user.admin    = false;
            user.date     = DateTime.Now.ToString("dd-MM-yyyy");

            dbNeo4j.UserCreate(user);

            ViewUser vuser = new ViewUser(user);

            Session["user"] = vuser;

            return(Redirect("/"));
        }
        // GET: /Artist/Index
        public ActionResult Index(string artist, string genre)
        {
            ArtistPageViewModel pageModel = new ArtistPageViewModel();

            //Is loged
            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                pageModel.user = (ViewUser)(Session["user"]);
            }
            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            #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

            //Getting artist songs
            pageModel.artistSongs = dbNeo4j.SongReadArtistSongs(artist);
            pageModel.artistSongs = pageModel.artistSongs.OrderBy(x => x.artist + " - " + x.name).ToList();

            //Geting artist info
            pageModel.artist = dbNeo4j.ArtistReadOne(artist);

            ViewBag.showNav = true;
            return(View(pageModel));
        }
        //GET /User/Delete
        public ActionResult Delete(string name)
        {
            //Samo admin moze da obrise korisnika
            if (Session["user"] == null || ((ViewUser)Session["user"]).admin == false)
            {
                return(Redirect("/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            dbNeo4j.UserDelete(name);

            return(Redirect("/User/"));
        }
Exemple #11
0
        //GET /Song/CreateDraft/
        public ActionResult CreateDraft(string artist, string song, string content)
        {
            ViewBag.showNav = false;
            PageViewModel pageModel = new PageViewModel();

            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();

            if (artist == null && song == null && content == null)
            {
                return(View(pageModel));
            }

            if (artist == null || song == null || content == null)
            {
                ViewBag.error = "Data is missing from required fields.";
            }
            else if (artist.Length < 1 || song.Length < 1 || content.Length < 1)
            {
                ViewBag.error = "Data is missing from required fields.";
            }

            if (ViewBag.error != null)
            {
                return(View(pageModel));
            }

            SongDraft draft = new SongDraft();

            draft.name    = song;
            draft.artist  = artist;
            draft.link    = "/" + artist + "/" + song;
            draft.date    = DateTime.Now.ToString("dd-MM-yyyy");
            draft.content = content;

            dbNeo4j.SongDraftCreate(draft, pageModel.user.name);

            dbRedis.AddAdminNotification();

            return(Redirect("/User/"));
        }
        //GET /User/CreateArtist/
        public ActionResult CreateArtist(string name, string bio, string website, string genres)
        {
            //Samo admin dodaje izvodjaca
            if (Session["user"] == null || ((ViewUser)Session["user"]).admin == false)
            {
                return(Redirect("/"));
            }

            if (name == null || name == "" || bio == null || bio == "" || website == null || website == "" || genres == null || genres == "")
            {
                return(Redirect("/User/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            List <string> checkArtists = dbNeo4j.ArtistRead();

            if (checkArtists.Contains(name))
            {
                return(Redirect("/User/#addArtistModal"));
            }
            else
            {
                string        genresClean     = Regex.Replace(genres, " *, *", ",");
                List <string> genreNames      = genresClean.Split(',').ToList();
                List <string> checkGenres     = dbNeo4j.GenreRead();
                List <string> validGenreNames = genreNames.Intersect(checkGenres).ToList();
                List <Genre>  validGenres     = new List <Genre>();
                foreach (string genreName in validGenreNames)
                {
                    Genre tmp = new Genre();
                    tmp.name = genreName;
                    validGenres.Add(tmp);
                }

                if (validGenres == null)
                {
                    return(Redirect("/User/"));
                }

                Artist artist = new Artist();
                artist.name      = name;
                artist.biography = bio;
                artist.website   = website;
                artist.link      = "/" + artist;
                dbNeo4j.ArtistCreate(artist, validGenres);
                return(Redirect("/User/"));
            }
        }
        //GET /SongRequest/Delete/
        public ActionResult Delete(string artist, string song, string author, string genre)
        {
            //Samo admin moze da obrise request
            if (Session["user"] == null || ((ViewUser)Session["user"]).admin == false)
            {
                return(Redirect("/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            dbNeo4j.SongRequestDelete(artist, song, author);
            string redirectUri = "/";

            if (genre != null && genre != "")
            {
                redirectUri += "?genre=" + genre;
            }
            return(Redirect(redirectUri));
        }
Exemple #14
0
        //GET /Song/DeleteDraft/
        public ActionResult DeleteDraft(string user, string artist, string name)
        {
            //Samo admin brise draft
            if (Session["user"] == null || ((ViewUser)Session["user"]).admin == false)
            {
                return(Redirect("/"));
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();
            RedisDataProvider dbRedis = new RedisDataProvider();
            SongDraft         draft   = new SongDraft();

            draft.artist = artist;
            draft.name   = name;

            dbNeo4j.SongDraftDelete(draft, user);
            dbRedis.ClearAdminNotifications();

            return(Redirect("/User/"));
        }
Exemple #15
0
        //GET /Song/CreateComment/
        public ActionResult CreateComment(string artist, string song, string title, string content)
        {
            string uri = "";

            if (Request.UrlReferrer != null)
            {
                uri = Request.UrlReferrer.ToString();
            }

            ViewUser user;

            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                user = ((ViewUser)Session["user"]);
            }
            else
            {
                return(Redirect("/"));
            }

            if (content == null || content == "")
            {
                return(Redirect(uri));
            }

            Comment comment = new Comment();

            comment.title   = title;
            comment.content = content;
            comment.date    = DateTime.Now.ToString("dd-MM-yyyy");

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();

            dbNeo4j.CommentCreate(comment, user.name, artist, song);

            return(Redirect(uri));
        }
        //GET /Home/Index
        public ActionResult Index(string genre)
        {
            #region Inicijalizacija baza podataka

            DBInitializer initializator = new DBInitializer();
            initializator.Initialize();

            #endregion


            HomePageViewModel pageModel = new HomePageViewModel();

            //Is loged
            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                pageModel.user = (ViewUser)(Session["user"]);
            }

            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

            //Getting popular songs
            List <string> popularSongNames = dbRedis.GetMostPopularSongs(10);
            pageModel.popularSongs = dbNeo4j.SongRead(popularSongNames);

            //Getting latest songs
            List <string> latestSongNames = dbRedis.GetLatestSongs();
            pageModel.latestSongs = dbNeo4j.SongRead(latestSongNames);

            //Getting songs requests
            pageModel.songRequests = dbNeo4j.SongRequestRead();


            ViewBag.showNav = true;

            return(View(pageModel));
        }
Exemple #17
0
        //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));
        }
Exemple #18
0
        //GET /Song/Index/
        public ActionResult Index(string artist, string song, string genre)
        {
            ViewBag.showNav = true;
            SongPageViewModel pageModel = new SongPageViewModel();

            //Is loged
            if (Session["user"] != null && Session["user"].GetType() == (typeof(ViewUser)))
            {
                pageModel.user = (ViewUser)(Session["user"]);
            }

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();
            RedisDataProvider dbRedis = new RedisDataProvider();

            dbRedis.IncrementSongVisitCount(artist + " - " + song);


            #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

            //Getting artist songs
            pageModel.artistSongs = dbNeo4j.SongReadArtistSongs(artist);
            pageModel.artistSongs = pageModel.artistSongs.OrderBy(x => x.artist + " - " + x.name).ToList();

            //Getting song data
            pageModel.song = dbNeo4j.SongRead(artist, song);

            //Getting song comment
            pageModel.comments = dbNeo4j.CommentRead(artist, song);

            //Check is song favorite
            if (pageModel.user != null)
            {
                pageModel.favorite = dbNeo4j.SongCheckIsFavorite(song, artist, pageModel.user.name);
            }

            pageModel.artist = artist;

            return(View(pageModel));
        }
        // 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));
        }
Exemple #20
0
        public void Initialize()
        {
            string date = DateTime.Now.ToString("dd-MM-yyyy");

            Neo4jDataProvider dbNeo4j = new Neo4jDataProvider();
            RedisDataProvider dbRedis = new RedisDataProvider();

            StreamReader stream;

            //Check is database initialized
            if (dbNeo4j.UserExists("admin", "admin"))
            {
                return;
            }

            DeleteAllData();
            dbRedis.ResetHashCounter();

            #region Create users

            User admin = new User();
            admin.name     = "admin";
            admin.email    = "admin";
            admin.password = "******";
            admin.admin    = true;
            admin.date     = date;
            dbNeo4j.UserCreate(admin);
            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(userFilePath));
                while (!stream.EndOfStream)
                {
                    User user = new User();
                    user.name     = stream.ReadLine();
                    user.email    = stream.ReadLine();
                    user.password = stream.ReadLine();
                    user.admin    = false;
                    user.date     = date;
                    stream.ReadLine();
                    dbNeo4j.UserCreate(user);
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }

            #endregion

            #region Create genres

            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(genresFilePath));
                while (!stream.EndOfStream)
                {
                    Genre genre = new Genre();
                    genre.name = stream.ReadLine();
                    stream.ReadLine();
                    dbNeo4j.GenreCreate(genre);
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }

            #endregion

            #region Create artists

            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(artistFilePath));
                while (!stream.EndOfStream)
                {
                    Artist artist = new Artist();
                    artist.name      = stream.ReadLine();
                    artist.biography = stream.ReadLine();
                    artist.website   = stream.ReadLine();

                    string        genresClean     = Regex.Replace(stream.ReadLine(), " *, *", ",");
                    List <string> genreNames      = genresClean.Split(',').ToList();
                    List <string> checkGenres     = dbNeo4j.GenreRead();
                    List <string> validGenreNames = genreNames.Intersect(checkGenres).ToList();
                    List <Genre>  validGenres     = new List <Genre>();
                    foreach (string genreName in validGenreNames)
                    {
                        Genre tmp = new Genre();
                        tmp.name = genreName;
                        validGenres.Add(tmp);
                    }
                    dbNeo4j.ArtistCreate(artist, validGenres);
                    stream.ReadLine();
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }
            #endregion

            #region Create songs

            string[] songPaths = Directory.GetFiles(HostingEnvironment.MapPath(songFolderPath));
            foreach (string songPath in songPaths)
            {
                try
                {
                    stream = new StreamReader(songPath);
                    Song song = new Song();
                    song.name = stream.ReadLine();
                    string artist = stream.ReadLine();
                    string user   = stream.ReadLine();
                    stream.ReadLine();
                    song.content = stream.ReadToEnd();
                    song.date    = date;
                    dbNeo4j.SongCreate(song, user, artist);
                    stream.Close();
                }
                catch (Exception e)
                {
                }
            }

            #endregion

            #region Create favorites

            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(favoritesFilePath));
                while (!stream.EndOfStream)
                {
                    string song   = stream.ReadLine();
                    string artist = stream.ReadLine();
                    string user   = stream.ReadLine();
                    stream.ReadLine();
                    dbNeo4j.SongAddToFavorites(song, artist, user);
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }

            #endregion

            #region Create Comments

            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(commentsFilePath));
                while (!stream.EndOfStream)
                {
                    Comment comment = new Comment();
                    comment.title   = stream.ReadLine();
                    comment.content = stream.ReadLine();
                    comment.date    = date;
                    string song   = stream.ReadLine();
                    string artist = stream.ReadLine();
                    string user   = stream.ReadLine();
                    stream.ReadLine();
                    dbNeo4j.CommentCreate(comment, user, artist, song);
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }

            #endregion

            #region Create requests

            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(songRequestFilePath));
                while (!stream.EndOfStream)
                {
                    SongRequest songRequest = new SongRequest();
                    songRequest.author = stream.ReadLine();
                    songRequest.artist = stream.ReadLine();
                    songRequest.song   = stream.ReadLine();
                    songRequest.date   = date;
                    stream.ReadLine();
                    dbNeo4j.SongRequestCreate(songRequest);
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }

            #endregion

            #region Create songdrafts

            string[] songDraftPaths = Directory.GetFiles(HostingEnvironment.MapPath(songDraftFolderPath));
            foreach (string songDraftPath in songDraftPaths)
            {
                try
                {
                    stream = new StreamReader(songDraftPath);
                    SongDraft songDraft = new SongDraft();
                    songDraft.name   = stream.ReadLine();
                    songDraft.artist = stream.ReadLine();
                    string user = stream.ReadLine();
                    songDraft.content = stream.ReadToEnd();
                    songDraft.date    = date;
                    dbNeo4j.SongDraftCreate(songDraft, user);
                    stream.Close();
                    dbRedis.AddAdminNotification();
                }
                catch (Exception e)
                {
                }
            }

            #endregion
        }