public ActionResult AddBeer() { var vm = new NewBeerViewModel(); vm.SetSelectListItems(); return(View(vm)); }
public ActionResult EditBeer(int id) { var repo = RepositoryFactory.CreateRepository(); var beer = repo.GetBeerById(id); var vm = new NewBeerViewModel(beer); vm.SetSelectListItems(); return(View(vm)); }
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")); }