コード例 #1
0
        protected void OnParameterChanged()
        {
            int id = (int)Parameter;

            using (var ctx = new ChinookModel())
            {
                var result = (from track in ctx.Track
                              .Include(x => x.Album)
                              .Include(x => x.Genre)
                              .Include(x => x.MediaType)
                              where track.TrackId == id
                              select new TrackInfo()
                {
                    TrackId = track.TrackId,
                    Name = track.Name,
                    AlbumId = track.AlbumId,
                    AlbumTitle = track.AlbumId.HasValue ? track.Album.Title : "",
                    MediaTypeId = track.MediaTypeId,
                    MediaType = track.MediaType.Name,
                    GenreId = track.GenreId,
                    Genre = track.GenreId.HasValue ? track.Genre.Name : "",
                    Composer = track.Composer,
                    Milliseconds = track.Milliseconds,
                    Bytes = track.Bytes
                }).FirstOrDefault();
                Load(result);
            }
        }
コード例 #2
0
 public Task LoadTracks()
 {
     IsLoading = true;
     return(Task.Factory.StartNew((state) =>
     {
         using (var ctx = new ChinookModel())
         {
             // Apply the DTO pattern
             var result = from track in ctx.Track
                          .Include(x => x.Album)
                          .Include(x => x.Genre)
                          .Include(x => x.MediaType)
                          select new TrackInfo()
             {
                 TrackId = track.TrackId,
                 Name = track.Name,
                 AlbumId = track.AlbumId,
                 AlbumTitle = track.AlbumId.HasValue ? track.Album.Title : "",
                 MediaTypeId = track.MediaTypeId,
                 MediaType = track.MediaType.Name,
                 GenreId = track.GenreId,
                 Genre = track.GenreId.HasValue ? track.Genre.Name : "",
                 Composer = track.Composer,
                 Milliseconds = track.Milliseconds,
                 Bytes = track.Bytes
             };
             Tracks = new ObservableCollection <TrackInfo>(result.ToList());
         }
         ((IDispatcherService)state).BeginInvoke(() =>
         {
             this.RaisePropertyChanged(x => x.Tracks);  // Notify the UI
             IsLoading = false;
         });
     }, DispatcherService));
 }
コード例 #3
0
 public void TestChinookModelCreation()
 {
     using (var entities = new ChinookEntities())
     {
         var provider = new DbProviderInfo("System.Data.SqlClient", "2008");
         var model    = ChinookModel.CreateModel(provider);
         Assert.NotNull(model);
     }
 }
コード例 #4
0
        void IEditableObject.EndEdit()
        {
            //if (!string.Equals(Name, track.Name))
            //    track.Name = Name;
            //if (!string.Equals(Composer, track.Composer))
            //    track.Composer = Composer;
            //if (TrackId != track.TrackId)
            //    track.TrackId = TrackId;
            using (var ctx = new ChinookModel())
            {
                var track = (from t in ctx.Track
                             where t.TrackId == this.track.TrackId
                             select t).FirstOrDefault();

                if (track != null)
                {
                    track.TrackId = this.TrackId;
                    track.Name    = this.Name;
                    track.AlbumId = this.AlbumId;
                    //track.AlbumTitle = this.AlbumTitle;
                    track.MediaTypeId = this.MediaTypeId;
                    //track.MediaType = this.MediaType;
                    track.GenreId = this.GenreId;
                    //track.Genre = this.Genre;
                    track.Composer     = this.Composer;
                    track.Milliseconds = this.Milliseconds;
                    track.Bytes        = this.Bytes;

                    ctx.SaveChanges();

                    hasChanges = false;
                    this.RaiseCanExecuteChanged(x => x.Save());
                    Messenger.Default.Send(new RequerySuggestedMessage());
                }
                CurrentWindowService.Close();
            }
        }