예제 #1
0
        public PagedResult <BeerRepresentation> Execute(BeerDbContext dbContext, int skip, int take)
        {
            var beers = dbContext
                        .Beers
                        .Where(where)
                        .OrderBy(b => b.Name)
                        .Skip(skip)
                        .Take(take)
                        .Select(b => new BeerRepresentation
            {
                Id          = b.Id,
                Name        = b.Name,
                BreweryId   = b.Brewery.Id,
                BreweryName = b.Brewery.Name,
                StyleId     = b.Style.Id,
                StyleName   = b.Style.Name
            })
                        .ToList();

            var count = dbContext.Beers
                        .Where(where)
                        .Count();

            return(new PagedResult <BeerRepresentation>(beers, count, skip, take));
        }
예제 #2
0
        public List <Models.Beer> GetBeers()
        {
            BeerDbContext context = new BeerDbContext();
            var           beers   = context.Beers.ToList();

            return(beers);
        }
예제 #3
0
        public Models.Beer AddBeer(Models.Beer beer)
        {
            BeerDbContext context = new BeerDbContext();

            context.Beers.Add(beer);
            context.SaveChanges();
            return(beer);
        }
예제 #4
0
        //method to delete a beer
        public bool DeleteBeer(int beerId)
        {
            using (var ctx = new BeerDbContext())
            {
                var entity =
                    ctx
                    .Beers
                    .Single(e => e.BeerID == beerId);

                ctx.Beers.Remove(entity);

                return(ctx.SaveChanges() == 1);
            }
        }
예제 #5
0
        //method to create a beer
        public bool CreateBeer(BeerCreate model)
        {
            var entity = new Beer()
            {
                Name        = model.Name,
                Type        = model.Type,
                Brewery     = model.Brewery,
                Description = model.Description,
                Rating      = model.Rating,
                Review      = model.Review
            };

            using (var ctx = new BeerDbContext())
            {
                ctx.Beers.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
예제 #6
0
 //method to get a list of beers
 public IEnumerable <BeerListItem> GetBeers()
 {
     using (var ctx = new BeerDbContext())
     {
         var query =
             ctx
             .Beers
             .Select(
                 e =>
                 new BeerListItem
         {
             BeerId  = e.BeerID,
             Name    = e.Name,
             Brewery = e.Brewery
         }
                 );
         return(query.ToArray());
     }
 }
예제 #7
0
        //method to update a beer
        public bool UpdateBeer(BeerEdit model)
        {
            using (var ctx = new BeerDbContext())
            {
                var entity =
                    ctx
                    .Beers
                    .Single(e => e.Name == model.Name);


                entity.Name        = model.Name;
                entity.Type        = model.Type;
                entity.Brewery     = model.Brewery;
                entity.Description = model.Description;
                entity.Rating      = model.Rating;
                entity.Review      = model.Review;


                return(ctx.SaveChanges() == 1);
            }
        }
예제 #8
0
 public BeerController(BeerDbContext beerDbContext)
 {
     this.beerDbContext = beerDbContext;
 }
예제 #9
0
 public BeerRepository(BeerDbContext beerDbContext)
 {
     this.beerDbContext = beerDbContext;
 }
예제 #10
0
 public BreweriesController(BeerDbContext beerDbContext)
 {
     this.beerDbContext = beerDbContext;
 }
예제 #11
0
 public StylesController(BeerDbContext beerDbContext)
 {
     this.beerDbContext = beerDbContext;
 }
예제 #12
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, BeerDbContext beerDbContext)
        {
            loggerFactory.AddConsole();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            beerDbContext.Database.Migrate();

            app.UseSwagger();
            app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApi.Hal Demo API V1"); });

            app.UseMvc();
        }