Пример #1
0
        public static async Task <List <Album> > ListAlbumsAsync()
        {
            using (var dbContext = new BrothersContext())
            {
                var albums = await dbContext.Albums.ToListAsync();

                return(albums);
            }
        }
Пример #2
0
        public static async Task <Photo> GetAsync(int id)
        {
            using (var context = new BrothersContext())
            {
                var photo = await context.Photos.FindAsync(id);

                if (photo != null)
                {
                    return(photo);
                }
                else
                {
                    throw new ArgumentNullException();
                }
            }
        }
Пример #3
0
        public static async Task AddAsync(Photo photo)
        {
            using (var context = new BrothersContext())
            {
                if (photo.Id != 0)
                {
                    context.Photos.Attach(photo);
                    var manager = ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager;
                    manager.ChangeObjectState(photo, EntityState.Modified);
                }
                else
                {
                    context.Photos.Add(photo);
                }

                await context.SaveChangesAsync();
            }
        }
Пример #4
0
        public static async Task <List <DisplayPhoto> > ListPhotosAsync()
        {
            using (var dbContext = new BrothersContext())
            {
                var photos = await dbContext
                             .Photos
                             .Select(photo => new DisplayPhoto
                {
                    Identifier = photo.Id,
                    Size       = photo.Size,
                    Name       = photo.Name,
                    Type       = photo.Type,
                    AlbumId    = photo.AlbumId
                })
                             .ToListAsync();

                return(photos);
            }
        }
Пример #5
0
        public static async Task <bool> DeleteAsync(int id)
        {
            using (var dbcontext = new BrothersContext())
            {
                Photo photo = await dbcontext
                              .Photos
                              .Where(item => item.Id == id)
                              .SingleOrDefaultAsync();

                if (photo == null)
                {
                    return(false);
                }

                dbcontext.Photos.Remove(photo);

                await dbcontext.SaveChangesAsync();

                return(true);
            }
        }
Пример #6
0
        protected override void Seed(BrothersContext context)
        {
            Album album = new Album("Albomchik", AlbumType.Autumn);

            context.Albums.Add(album);

            List <Photo> Photos = new List <Photo>
            {
                new Photo("Photo1", ContentType.Fishing, 23, new byte[0], album.Id),
                new Photo("Photo2", ContentType.CountryHouse, 23, new byte[0], album.Id)
            };

            context.Photos.AddRange(Photos);

            List <Video> Videos = new List <Video>
            {
                new Video("Video1", ContentType.Travel, 12, "", album.Id),
                new Video("Video2", ContentType.Others, 12, "", album.Id)
            };

            context.Videos.AddRange(Videos);

            base.Seed(context);
        }