예제 #1
0
        public ActionResult Edit([Bind(Include = "Beer,NewManufacturer,OriginalManufacturer,NewType,OriginalBeerType")] CreateBeerViewModel editBeer)
        {
            if (ModelState.IsValid)
            {
                if (!String.IsNullOrEmpty(editBeer.NewManufacturer))
                {
                    Manufacturer manufacturer = new Manufacturer
                    {
                        Name = editBeer.NewManufacturer
                    };

                    context.Manufacturers.Add(manufacturer);
                    context.SaveChanges();

                    editBeer.Beer.Manufacturer   = manufacturer;
                    editBeer.Beer.ManufacturerID = manufacturer.ID;
                }
                else
                {
                    Manufacturer manufacturer = context.Manufacturers.Find(editBeer.Beer.ManufacturerID);
                    editBeer.Beer.Manufacturer   = manufacturer;
                    editBeer.Beer.ManufacturerID = manufacturer.ID;
                }

                editBeer.Beer.Type = editBeer.Beer.Type == "Create New" ? editBeer.NewType : editBeer.Beer.Type;

                context.Entry(editBeer.Beer).State = EntityState.Modified;
                context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(editBeer));
        }
예제 #2
0
        public ActionResult Create([Bind(Include = "Beer,NewManufacturer,NewType")] CreateBeerViewModel newBeer)
        {
            if (ModelState.IsValid)
            {
                if (!String.IsNullOrEmpty(newBeer.NewManufacturer))
                {
                    Manufacturer manufacturer = new Manufacturer
                    {
                        Name = newBeer.NewManufacturer
                    };

                    context.Manufacturers.Add(manufacturer);
                    context.SaveChanges();

                    newBeer.Beer.Manufacturer = manufacturer;
                }
                else
                {
                    Manufacturer manufacturer = context.Manufacturers.Find(newBeer.Beer.ManufacturerID);
                    newBeer.Beer.Manufacturer = manufacturer;
                }

                newBeer.Beer.Type = newBeer.Beer.Type == "Create New" ? newBeer.NewType : newBeer.Beer.Type;

                context.Beers.Add(newBeer.Beer);
                context.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(newBeer));
        }
예제 #3
0
        // GET: Beers/Beers/Create
        public IActionResult Create()
        {
            var model = new CreateBeerViewModel
            {
                Types = beers.GetAllBeerTypes().Select(t => t.Name).ToList()
            };

            return(View(model));
        }
예제 #4
0
        public ActionResult Create(CreateBeerViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var existing = _beerOrchestrator.GetByBrewery(model.BreweryId);

            if (existing.Any(b => b.Name == model.Name))
            {
                ModelState.AddModelError("BeerName", "A beer with that name already exists for this brewery.");
                return(View(model));
            }

            string id = _beerOrchestrator.CreateBeer(model.Name, model.ABV, model.BAScore, model.StyleId, model.BreweryId);

            return(RedirectToAction("Details", "Beer", new { id = id }));
        }
예제 #5
0
        //
        // GET: /Admin/Beer/Create
        public ActionResult Create(string breweryId)
        {
            var brewery = _breweryOrchestrator.GetById(breweryId);
            var styles  = _styleOrchestrator.GetStyles();

            if (null != brewery)
            {
                var vm = new CreateBeerViewModel(styles)
                {
                    BreweryId = brewery.Id, BreweryName = brewery.Name
                };
                return(View(vm));
            }

            ModelState.AddModelError("Brewery", "Brewery with that id does not exist.");
            return(View(new CreateBeerViewModel()
            {
                BreweryId = breweryId
            }));
        }
예제 #6
0
        public async Task <IActionResult> Create(CreateBeerViewModel beer)
        {
            if (ModelState.IsValid)
            {
                var newBeer = new Beer
                {
                    Name        = beer.Name,
                    Description = beer.Description,
                    Price       = beer.Price,
                    Country     = beer.Country,
                    ImageUrl    = beer.ImageUrl,
                    UserId      = userManager.GetUserId(this.User)
                };

                beers.Add(newBeer);

//

                if (beer.Types[0] != null)
                {
                    var typesList2 = beer.Types[0].Split(',', StringSplitOptions.RemoveEmptyEntries);
                    foreach (var type in typesList2)
                    {
                        beers.AddTypeToBeer(newBeer.Id, type);
                    }
                }


                if (beer.Ingredients != null)
                {
                    var ingredientsList = beer.Ingredients.Split(',', StringSplitOptions.RemoveEmptyEntries);
                    foreach (var ingr in ingredientsList)
                    {
                        beers.AddIngredientToBeer(newBeer.Id, ingr.Trim());
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View());
        }
예제 #7
0
        // GET: Beers/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Beer beer = context.Beers.Find(id);

            if (beer == null)
            {
                return(HttpNotFound());
            }

            CreateBeerViewModel viewModel = new CreateBeerViewModel
            {
                Beer = beer,
                OriginalManufacturer = beer.Manufacturer.ID,
                OriginalBeerType     = beer.Type
            };

            return(View(viewModel));
        }