コード例 #1
0
        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));
        }
コード例 #2
0
        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));
                    }
                }
            }
        }