Exemplo n.º 1
0
        //GET ALBUM LIST FOR LABEL OR ARTIST
        public List <AlbumGetModel> GetAlbumList(string id)
        {
            List <AlbumGetModel> albumGetModels = new List <AlbumGetModel>();
            var collection = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("albums");
            var builder    = Builders <BsonDocument> .Filter;
            var filter     = builder.Eq("LabelId", id) | builder.Eq("ArtistId", id);
            var results    = collection.Find(filter).ToList();

            foreach (BsonDocument result in results)
            {
                if (result != null)
                {
                    AlbumGetModel albumGetModel = new AlbumGetModel();
                    AlbumGetModel res           = BsonSerializer.Deserialize <AlbumGetModel>(result);
                    albumGetModel.AlbumId       = res.AlbumId;
                    albumGetModel.AlbumName     = res.AlbumName;
                    albumGetModel.CoverImageUrl = res.CoverImageUrl;
                    albumGetModel.Year          = res.Year;
                    albumGetModel.Genre         = res.Genre;
                    albumGetModel.ArtistId      = res.ArtistId;
                    albumGetModel.LabelId       = res.LabelId;
                    albumGetModels.Add(albumGetModel);
                }
            }
            return(albumGetModels);
        }
Exemplo n.º 2
0
        public SearchResultModel SearchResult(string query)
        {
            SearchResultModel searchResultModel = new SearchResultModel();

            searchResultModel.AlbumGetModels      = new List <AlbumGetModel>();
            searchResultModel.SongGetModels       = new List <SongGetModel>();
            searchResultModel.ArtistGetInfoModels = new List <ArtistGetInfoModel>();
            var songCollection   = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("songs");
            var artistCollection = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("artists");
            var albumCollection  = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("albums");
            var songfilter       = new BsonDocument {
                { "SongName", new BsonDocument {
                      { "$regex", query }, { "$options", "i" }
                  } }
            };
            var songResults = songCollection.Find(songfilter).ToList();
            var albumfilter = new BsonDocument {
                { "AlbumName", new BsonDocument {
                      { "$regex", query }, { "$options", "i" }
                  } }
            };
            var albumResults = albumCollection.Find(albumfilter).ToList();
            var artistfilter = new BsonDocument {
                { "FirstName", new BsonDocument {
                      { "$regex", query }, { "$options", "i" }
                  } }
            };
            var artistResults = artistCollection.Find(artistfilter).ToList();

            foreach (BsonDocument result in songResults)
            {
                if (result != null)
                {
                    SongGetModel res = BsonSerializer.Deserialize <SongGetModel>(result);
                    searchResultModel.SongGetModels.Add(res);
                }
            }
            foreach (BsonDocument result in albumResults)
            {
                if (result != null)
                {
                    AlbumGetModel res = BsonSerializer.Deserialize <AlbumGetModel>(result);
                    searchResultModel.AlbumGetModels.Add(res);
                }
            }
            foreach (BsonDocument result in artistResults)
            {
                if (result != null)
                {
                    ArtistGetInfoModel res = BsonSerializer.Deserialize <ArtistGetInfoModel>(result);
                    searchResultModel.ArtistGetInfoModels.Add(res);
                }
            }
            return(searchResultModel);
        }
        public RecommendedModel GetRecommended(string id)
        {
            RecommendedModel recommendedModel = new RecommendedModel();

            recommendedModel.AlbumGetModels      = new List <AlbumGetModel>();
            recommendedModel.SongGetModels       = new List <SongGetModel>();
            recommendedModel.ArtistGetInfoModels = new List <ArtistGetInfoModel>();
            var songCollection   = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("songs");
            var artistCollection = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("artists");
            var albumCollection  = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("albums");
            var songResults      = songCollection.Find(new BsonDocument()).Limit(15).ToList();
            var albumResults     = albumCollection.Find(new BsonDocument()).Limit(15).ToList();
            var artistResults    = artistCollection.Find(new BsonDocument()).Limit(15).ToList();

            foreach (BsonDocument result in songResults)
            {
                if (result != null)
                {
                    SongGetModel res = BsonSerializer.Deserialize <SongGetModel>(result);
                    recommendedModel.SongGetModels.Add(res);
                }
            }
            foreach (BsonDocument result in albumResults)
            {
                if (result != null)
                {
                    AlbumGetModel res = BsonSerializer.Deserialize <AlbumGetModel>(result);
                    recommendedModel.AlbumGetModels.Add(res);
                }
            }
            foreach (BsonDocument result in artistResults)
            {
                if (result != null)
                {
                    ArtistGetInfoModel res = BsonSerializer.Deserialize <ArtistGetInfoModel>(result);
                    recommendedModel.ArtistGetInfoModels.Add(res);
                }
            }
            return(recommendedModel);
        }
Exemplo n.º 4
0
        //GET ALBUM BY ALBUM ID
        public AlbumGetModel GetAlbum(string id)
        {
            AlbumGetModel albumGetModel = null;
            var           collection    = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("albums");
            var           builder       = Builders <BsonDocument> .Filter;
            var           filter        = builder.Eq("AlbumId", id);
            var           result        = collection.Find(filter).FirstOrDefault();

            if (result != null)
            {
                albumGetModel = new AlbumGetModel();
                AlbumGetModel res = BsonSerializer.Deserialize <AlbumGetModel>(result);
                albumGetModel.AlbumId       = res.AlbumId;
                albumGetModel.AlbumName     = res.AlbumName;
                albumGetModel.CoverImageUrl = res.CoverImageUrl;
                albumGetModel.Year          = res.Year;
                albumGetModel.Genre         = res.Genre;
                albumGetModel.ArtistId      = res.ArtistId;
                albumGetModel.LabelId       = res.LabelId;
            }
            return(albumGetModel);
        }