Example #1
0
        public int AddTrackToCd(int? cdId, Track track)
        {
            var cdEntity = GetCdEntityFromDataContext(cdId);
            var trackEntity = new Data.Track
            {
                Artist = track.Artist,
                CD = cdEntity,
                CDId = cdId,
                Id = -1,
                Length = track.Length,
                Name = track.Name
            };

            if (cdEntity.Tracks == null)
            {
                cdEntity.Tracks = new Collection<Data.Track>();
            }

            cdEntity.Tracks.Add(trackEntity);
            _db.Entry(cdEntity).State = EntityState.Modified;
            _db.SaveChanges();
            return trackEntity.Id;
        }
Example #2
0
 public void Delete(Track track)
 {
     var entity = _db.Tracks.Find(track.Id);
     _db.Tracks.Remove(entity);
     _db.SaveChanges();
 }
Example #3
0
        public void Save(Track track)
        {
            var entity = _db.Tracks.FirstOrDefault(x => x.Id == track.Id);

            if (entity == null)
            {
                throw new ObjectNotFoundException("The requested track is not in the databse");
            }

            var cdEntity = GetCdEntityFromDataContext(entity.CDId);

            entity.Artist = track.Artist;
            entity.CD = cdEntity;
            entity.CDId = cdEntity.Id;
            entity.Length = track.Length;
            entity.Name = track.Name;

            _db.Entry(entity).State = EntityState.Modified;
            _db.SaveChanges();
        }
Example #4
0
        public Track GetTrackDetails(int id)
        {
            var trackEntity = _db.Tracks.FirstOrDefault(track => track.Id == id);
            if (trackEntity == null)
            {
                throw new ObjectNotFoundException("The requested Track is not in the databse");
            }

            var trackModel = new Track
            {
                Artist = trackEntity.Artist,
                CDId = trackEntity.CDId,
                Id = trackEntity.Id,
                Length = trackEntity.Length,
                Name = trackEntity.Name
            };

            return trackModel;
        }