public ActionResult DodajZwierze(int?zwierzeId, bool?potwierdzenie) { var user = UserManager.FindById(User.Identity.GetUserId()); if (user.DaneUzytkownika.Adres == null || user.DaneUzytkownika.Email == null || user.DaneUzytkownika.Imie == null || user.DaneUzytkownika.KodPocztowy == null || user.DaneUzytkownika.Miasto == null || user.DaneUzytkownika.Nazwisko == null || user.DaneUzytkownika.Telefon == null) { return(RedirectToAction("Index", new { info = "Prosze wprowadzić swoje dane" })); } var WszystkieZwierzeta = db.Zwierzeta.ToList(); List <string> wojewodztwa = new List <string>(); WszystkieZwierzeta.ForEach(a => { //When launching delete a.Wojewodztwo != null if (!a.Wojewodztwo.Equals(String.Empty)) { wojewodztwa.Add(a.Wojewodztwo); } }); ViewBag.Wojewodztwa = wojewodztwa.Distinct(); ViewBag.PierwszeWojewodztwo = wojewodztwa.Distinct().First(); Zwierze zwierze; if (zwierzeId.HasValue) { //Edycja Kursu ViewBag.EditMode = true; zwierze = db.Zwierzeta.Find(zwierzeId); } else { //Dodanie nowego kursu ViewBag.EditMode = false; zwierze = new Zwierze(); } zwierze.DataNarodzin = DateTime.Now; var result = new EditZwierzeViewModel() { Gatunki = db.Gatunki.ToList(), Zwierze = zwierze, Potwierdzenie = potwierdzenie }; return(View(result)); }
public ActionResult DodajZwierze(EditZwierzeViewModel model, IEnumerable <HttpPostedFileBase> file) { var WszystkieZwierzeta = db.Zwierzeta.ToList(); List <string> wojewodztwa = new List <string>(); WszystkieZwierzeta.ForEach(a => { //When launching delete a.Wojewodztwo != null if (a.Wojewodztwo != null && !a.Wojewodztwo.Equals(String.Empty)) { wojewodztwa.Add(a.Wojewodztwo); } }); ViewBag.Wojewodztwa = wojewodztwa.Distinct(); ViewBag.PierwszeWojewodztwo = wojewodztwa.Distinct().First(); //Patrz pola ukryte w widoku if (model.Zwierze.ZwierzeId > 0) { //Modyfikacja Zwierzaka! db.Entry(model.Zwierze).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("DodajZwierze", new { potwierdzenie = true })); } else { //Co gdy użytkownik nie wybral pliku if (file == null || file.First() == null) { //Model zostanie zwrocony, ponieważ w drpodown liście nie zostaną wyświetlone elementy! stąd musimy je jeszcze //raz pobrać żeby poprostu zostały pokazane! var gatunki = db.Gatunki.ToList(); model.Gatunki = gatunki; ViewBag.WprowadzPlik = "Proszę wprowadzić plik(i)!"; return(View(model)); } string c = Path.GetExtension(file.ElementAt(0).FileName); c = c.Remove(0, 1); c = c.ToLower(); if (c != "png" && c != "jpg") { var gatunki = db.Gatunki.ToList(); model.Gatunki = gatunki; ViewBag.WprowadzPlik = "Proszę wprowadzić plik w formacie PNG lub JPG"; return(View(model)); } //Sprawdzenie czy uzytkownik wybral plik else { //Czy Pozostałe pola zostały wypełnione poprawnie if (ModelState.IsValid) { if (file.Count() == 1) { var sourceImage = Image.FromStream(file.ElementAt(0).InputStream); sourceImage = ResizeImage(sourceImage, 500, 500); //Generowanie plik var fileExt = Path.GetExtension(file.ElementAt(0).FileName); var filename = Guid.NewGuid() + fileExt; // Unikalny identyfikator + rozszerzenie //W jakim folderze ma byc umiesczony dany plik oraz jego nazwa! Oraz zapis var path = Path.Combine(Server.MapPath(AppConfig.ObrazkiFolderWzgledny), filename); //file.SaveAs(path); sourceImage.Save(path); model.Zwierze.NazwaPlikuObrazka = filename; model.Zwierze.DataDodania = DateTime.Now; model.Zwierze.UserId = User.Identity.GetUserId(); //Oczywiscie mozna wykonac standardowa procedure db.Zwierze.Add(); db.SaveChanges(), ale... db.Entry(model.Zwierze).State = EntityState.Added; var user = UserManager.FindById(User.Identity.GetUserId()); Zdjecie zdjecie = new Zdjecie { FilePath = filename, ZwierzeId = model.Zwierze.ZwierzeId, Zwierze = model.Zwierze }; db.Zdjecie.AddOrUpdate(zdjecie); db.SaveChanges(); } else { int licznik = 0; foreach (var item in file) { //Check ext and len c = Path.GetExtension(item.FileName); c = c.Remove(0, 1); c = c.ToLower(); if (c != "png" && c != "jpg") { //Model zostanie zwrocony, ponieważ w drpodown liście nie zostaną wyświetlone elementy! stąd musimy je jeszcze //raz pobrać żeby poprostu zostały pokazane! var gatunki = db.Gatunki.ToList(); model.Gatunki = gatunki; ViewBag.WprowadzPlik = "Proszę wprowadzić plik w formacie PNG lub JPG"; return(View(model)); } // if (licznik == 0) { var sourceImage = Image.FromStream(item.InputStream); sourceImage = ResizeImage(sourceImage, 500, 500); //Generowanie plik var fileExt = Path.GetExtension(item.FileName); var filename = Guid.NewGuid() + fileExt; // Unikalny identyfikator + rozszerzenie //W jakim folderze ma byc umiesczony dany plik oraz jego nazwa! Oraz zapis var path = Path.Combine(Server.MapPath(AppConfig.ObrazkiFolderWzgledny), filename); //file.SaveAs(path); sourceImage.Save(path); model.Zwierze.NazwaPlikuObrazka = filename; //model.Zwierze.NazwyPlikowObrazkow.Add(filename); model.Zwierze.DataDodania = DateTime.Now; model.Zwierze.UserId = User.Identity.GetUserId(); //Oczywiscie mozna wykonac standardowa procedure db.Zwierze.Add(); db.SaveChanges(), ale... db.Entry(model.Zwierze).State = EntityState.Added; var user = UserManager.FindById(User.Identity.GetUserId()); Zdjecie zdjecie = new Zdjecie { FilePath = filename, ZwierzeId = model.Zwierze.ZwierzeId, Zwierze = model.Zwierze }; db.Zdjecie.AddOrUpdate(zdjecie); db.SaveChanges(); licznik++; } else { var sourceImage = Image.FromStream(item.InputStream); sourceImage = ResizeImage(sourceImage, 500, 500); //Generowanie plik var fileExt = Path.GetExtension(item.FileName); var filename = Guid.NewGuid() + fileExt; // Unikalny identyfikator + rozszerzenie //W jakim folderze ma byc umiesczony dany plik oraz jego nazwa! Oraz zapis var path = Path.Combine(Server.MapPath(AppConfig.ObrazkiFolderWzgledny), filename); //file.SaveAs(path); sourceImage.Save(path); //model.Zwierze.NazwyPlikowObrazkow.Add(filename); //Oczywiscie mozna wykonac standardowa procedure db.Zwierze.Add(); db.SaveChanges(), ale... Zdjecie zdjecie = new Zdjecie { FilePath = filename, ZwierzeId = model.Zwierze.ZwierzeId, Zwierze = model.Zwierze }; db.Zdjecie.AddOrUpdate(zdjecie); var user = UserManager.FindById(User.Identity.GetUserId()); db.SaveChanges(); } } licznik = 0; } return(RedirectToAction("DodajZwierze", new { potwierdzenie = true })); } else { var gatunki = db.Gatunki.ToList(); model.Gatunki = gatunki; return(View(model)); } } } }