public ActionResult Create(AutaBaza autaBaza, FormCollection collection) { if (ModelState.IsValid) { try { autaBazaRepository.Add(autaBaza); autaBazaRepository.Save(); return(RedirectToAction("Create", "Samochod")); } catch { return(PartialView("Create", autaBaza)); } } else { return(PartialView("Create", autaBaza)); } }
public ActionResult PopulateAutaBaza(FormCollection collection, HttpPostedFileBase file) { AutaBazaRepository autaBazaRepository = new AutaBazaRepository(); string extension = Path.GetExtension(file.FileName); List <string> ErrorObjects = new List <string>(); List <AutaBaza> Objects = new List <AutaBaza>(); if (Path.GetExtension(file.FileName).ToLower() == ".json" && file != null) { try { List <string> rows = new List <string>(); StreamReader reader = new StreamReader(file.InputStream); string record = reader.ReadToEnd(); List <AutaBazaDTO> ABD = JsonConvert.DeserializeObject <List <AutaBazaDTO> >(record); foreach (var row in ABD) { foreach (var item in row.models) { AutaBaza Auto = new AutaBaza(); Auto.Marka = row.brand; Auto.Model = item; if (autaBazaRepository.GetRecordByMakeModel(Auto.Marka, Auto.Model).Count() == 0) //Przeszukiwanie bazy czy nie ma już takiego rekordu { Objects.Add(Auto); } else { ErrorObjects.Add("Rekord : " + Auto.Marka + ", " + Auto.Model + " figuruje już w bazie danych!"); } } } if (Objects.Count() > 0) { foreach (var item in Objects) { if (ModelState.IsValid) { autaBazaRepository.Add(item); autaBazaRepository.Save(); } else { TempData["errorMessage"] = "Wystąpił błąd przy dodawaniu samochodu " + item.Marka + " " + item.Model + "; ModelState.IsValid==false!"; return(RedirectToAction("Index", "Samochod")); } } TempData["okMessage"] = "Dodano samochody (" + Objects.Count() + ")"; if (ErrorObjects.Count > 0) { TempData["okMessage"] += "Pominięto samochody (" + ErrorObjects.Count() + ")"; } return(RedirectToAction("Index", "Samochod")); } else { TempData["errorMessage"] = "Nie dodano żadnych samochodów!"; return(RedirectToAction("Index", "Samochod")); } } catch (Exception e) { TempData["errorMessage"] = "Wystąpił błąd : " + e; return(RedirectToAction("Index", "Samochod")); } } else { TempData["errorMessage"] = "Proszę używać tylko plików o formacie .json!"; return(RedirectToAction("Index", "Samochod")); } }