示例#1
0
        public void Post(AlbumDTO value)
        {
            Album model = new Album()
            {
                Name        = value.Name,
                ReleaseYear = value.ReleaseYear,
                StudioId    = value.StudioId
            };

            IAlbumRepository.Create(model);
            for (int i = 0; i < value.ArtistId.Count; i++)
            {
                ArtistAlbum ArtistAlbum = new ArtistAlbum()
                {
                    AlbumId  = model.Id,
                    ArtistId = value.ArtistId[i]
                };
                IArtistAlbumRepository.Create(ArtistAlbum);
            }
            for (int i = 0; i < value.SongId.Count; i++)
            {
                SongAlbum SongAlbum = new SongAlbum()
                {
                    AlbumId = model.Id,
                    SongId  = value.ArtistId[i]
                };
                ISongAlbumRepository.Create(SongAlbum);
            }
        }
示例#2
0
        public AlbumDetailsDTO Get(int id)
        {
            Album           Album   = IAlbumRepository.Get(id);
            AlbumDetailsDTO MyAlbum = new AlbumDetailsDTO()
            {
                Name        = Album.Name,
                ReleaseYear = Album.ReleaseYear,
                StudioId    = Album.StudioId
            };
            IEnumerable <SongAlbum> MySongAlbums = ISongAlbumRepository.GetAll().Where(x => x.AlbumId == Album.Id);

            if (MySongAlbums != null)
            {
                List <string> SongNameList = new List <string>();
                foreach (SongAlbum MySongAlbum in MySongAlbums)
                {
                    Song MySong = ISongRepository.GetAll().SingleOrDefault(x => x.Id == MySongAlbum.SongId);
                    SongNameList.Add(MySong.Name);
                }
                MyAlbum.SongName = SongNameList;
            }
            IEnumerable <ArtistAlbum> MyArtistAlbums = IArtistAlbumRepository.GetAll().Where(x => x.AlbumId == Album.Id);

            if (MyArtistAlbums != null)
            {
                List <string> ArtistNameList = new List <string>();
                foreach (ArtistAlbum MyArtistAlbum in MyArtistAlbums)
                {
                    Artist MyArtist = IArtistRepository.GetAll().SingleOrDefault(x => x.Id == MyArtistAlbum.ArtistId);
                    ArtistNameList.Add(MyArtist.Name);
                }
                MyAlbum.ArtistName = ArtistNameList;
            }
            return(MyAlbum);
        }
示例#3
0
 public AlbumController(IAlbumRepository albumrepository, IArtistAlbumRepository artistalbumrepository, IArtistRepository artistrepository, ISongRepository songrepository, ISongAlbumRepository songalbumrepository)
 {
     IAlbumRepository       = albumrepository;
     IArtistAlbumRepository = artistalbumrepository;
     ISongAlbumRepository   = songalbumrepository;
     ISongRepository        = songrepository;
     IArtistRepository      = artistrepository;
 }
示例#4
0
        public void Put(int id, AlbumDTO value)
        {
            Album model = IAlbumRepository.Get(id);

            if (value.Name != null)
            {
                model.Name = value.Name;
            }
            if (value.ReleaseYear != 0)
            {
                model.ReleaseYear = value.ReleaseYear;
            }
            if (value.StudioId != 0)
            {
                model.StudioId = value.StudioId;
            }
            IAlbumRepository.Update(model);
            if (value.ArtistId != null)
            {
                IEnumerable <ArtistAlbum> MyArtistAlbums = IArtistAlbumRepository.GetAll().Where(x => x.AlbumId == id);
                foreach (ArtistAlbum MyArtistAlbum in MyArtistAlbums)
                {
                    IArtistAlbumRepository.Delete(MyArtistAlbum);
                }
                for (int i = 0; i < value.ArtistId.Count; i++)
                {
                    ArtistAlbum ArtistAlbum = new ArtistAlbum()
                    {
                        AlbumId  = model.Id,
                        ArtistId = value.ArtistId[i]
                    };
                    IArtistAlbumRepository.Create(ArtistAlbum);
                }
            }
            if (value.SongId != null)
            {
                IEnumerable <SongAlbum> MySongAlbums = ISongAlbumRepository.GetAll().Where(x => x.AlbumId == id);
                foreach (SongAlbum MySongAlbum in MySongAlbums)
                {
                    ISongAlbumRepository.Delete(MySongAlbum);
                }
                for (int i = 0; i < value.SongId.Count; i++)
                {
                    SongAlbum SongAlbum = new SongAlbum()
                    {
                        AlbumId = model.Id,
                        SongId  = value.ArtistId[i]
                    };
                    ISongAlbumRepository.Create(SongAlbum);
                }
            }
        }
示例#5
0
 public SongAlbumController(ISongAlbumRepository repo)
 {
     repository = repo;
 }