Beispiel #1
0
        public ActionResult AddBeer()
        {
            var vm = new NewBeerViewModel();

            vm.SetSelectListItems();
            return(View(vm));
        }
Beispiel #2
0
        public ActionResult EditBeer(int id)
        {
            var repo = RepositoryFactory.CreateRepository();
            var beer = repo.GetBeerById(id);
            var vm   = new NewBeerViewModel(beer);

            vm.SetSelectListItems();
            return(View(vm));
        }
Beispiel #3
0
        public ActionResult AddBeer(NewBeerViewModel vm, HttpPostedFileBase file)
        {
            var repo = RepositoryFactory.CreateRepository();

            // TODO: See if there is a way to outsource all of this initialization to the BLL
            var beer = new Beer
            {
                Name        = vm.Name,
                ABV         = vm.ABV,
                Description = vm.Description,
                IsAvailable = vm.IsAvailable,
                IsFlagship  = vm.IsFlagship,
                ReleaseDate = vm.ReleaseDate,
                Season      = vm.Season
            };

            if (vm.IBU.HasValue)
            {
                beer.IBU = vm.IBU.Value;
            }

            if (vm.StyleId.HasValue)
            {
                beer.Style = repo.GetStyleById(vm.StyleId.Value);
            }
            else
            {
                beer.Style = new Style
                {
                    Name        = vm.StyleName,
                    Description = vm.StyleDescription
                };
                beer.Style = repo.AddStyle(beer.Style);
            }

            if (vm.SeriesId.HasValue)
            {
                beer.Series = repo.GetSeriesById(vm.SeriesId.Value);
            }
            else if (!string.IsNullOrEmpty(vm.SeriesName))
            {
                beer.Series = new Series
                {
                    Name        = vm.SeriesName,
                    Description = vm.SeriesDescription
                };

                beer.Series = repo.AddSeries(beer.Series);
            }
            else
            {
                beer.Series = null;
            }

            if (vm.CollabId.HasValue)
            {
                beer.Collaborator = repo.GetCollaboratorById(vm.CollabId.Value);
            }
            else if (!String.IsNullOrEmpty(vm.CollabName))
            {
                beer.Collaborator = new Collaborator
                {
                    Name        = vm.CollabName,
                    Description = vm.CollabDescription,
                    //Website = vm.CollabWebsite,
                    Contact = new ContactInfo
                    {
                        StreetAddress = vm.CollabStreetAddress,
                        City          = vm.CollabCity,
                        State         = vm.CollabState,
                        Zip           = vm.CollabZip
                    }
                };
                beer.Collaborator.Contact = repo.AddContact(beer.Collaborator.Contact);
                beer.Collaborator         = repo.AddCollaborator(beer.Collaborator);
            }
            else
            {
                beer.Collaborator = null;
            }

            beer.ImgPath = UploadImage(file);

            repo.AddBeer(beer);

            return(RedirectToAction("ManageBeers", "Admin"));
        }