public ActionResult Import(string breweryId) { var model = new ImportBeerViewModel(); var brewery = _breweryOrchestrator.GetById(breweryId); if (null == brewery) { ViewBag.Error = "Brewery with that id does not exist."; return(View(model)); } model.BreweryName = brewery.Name; return(View(model)); }
public ActionResult Import(ImportBeerViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (model.File.ContentLength <= 0) { return(View(model)); } if (model.File.FileName.Contains("csv")) { throw new NotImplementedException(); try { var beers = new List <ImportBeerModel>(); using (var reader = new StreamReader(model.File.InputStream)) { using (var csv = new CsvReader(reader)) { beers = csv.GetRecords <ImportBeerModel>().ToList(); } } beers.ForEach(b => { var existing = _beerOrchestrator.GetByBrewery(model.BreweryId); if (false == existing.Any(beer => beer.Name == b.Name)) { //_beerOrchestrator.CreateBeer(b.Name, b.ABV?? 0, b.BAScore?? 0, b.Style, string.Empty, string.Empty, model.BreweryId); } }); return(RedirectToAction("Details", "Brewery", new { id = model.BreweryId })); } catch (Exception ex) { ViewBag.Error = "File not formatted correctly."; return(View()); } } else { ViewBag.Error = "File is not a csv."; } return(View()); }