Ejemplo n.º 1
0
        public ViewResult Index(int? page)
        {
            int pageSize = 12;
            int pageNumber = (page ?? 1);
            if (searchIndexCreated != true)
                CreateIndex();
            TrackRepository track = new TrackRepository();

            return View(track.All.OrderByDescending(rating => rating.Like).ToPagedList(pageNumber, pageSize));
        }
        public ActionResult Upload(UploadTrack trackInfo)
        {
            Track track = new Track();
            track.TrackName = trackInfo.TrackName;
            track.Author = trackInfo.Author;
            track.UserName = WebSecurity.CurrentUserName;
            track.FileName = fileName;
            track.Like = 0;
            track.Listenings = 0;
            track.Description = new Markdown().Transform(trackInfo.Description);
            TrackRepository trackRepository = new TrackRepository();
            trackRepository.InsertOrUpdate(track);
            var tagList = trackInfo.Tags.Split(',');
            TagRepository tagRepository = new TagRepository();
            TagsInTracks tagsInTracks;
            Tag tag;
            TagsInTracksRepository tagInTrackRepository = new TagsInTracksRepository();
            foreach(var tagName in tagList)
            {
                tagsInTracks = new TagsInTracks();
                tagsInTracks.Track = track;
                if (tagRepository.TagExist(tagName))
                {
                    tagsInTracks.TagId = tagRepository.TagSearchId(tagName);
                }
                else
                {
                    tag = new Tag();
                    tag.TagName = tagName;
                    tagRepository.InsertOrUpdate(tag);
                    tagsInTracks.Tag = tag;
                }
                tagInTrackRepository.InsertOrUpdate(tagsInTracks);
                tagInTrackRepository.Save();

            }
            TrackData trackIndex = new TrackData();
            trackIndex.Author = trackInfo.Author;
            trackIndex.Id = track.TrackId;
            trackIndex.Tags = trackInfo.Tags;
            trackIndex.TrackName = trackInfo.TrackName;
            trackIndex.TrackPath = fileName;
            AddToIndex(trackIndex);

            return RedirectToAction("Index", "Home");
        }