コード例 #1
0
        public ActionResult UploadFiles(int id)
        {
            var zwierze    = db.Zwierzeta.Find(id);
            var userLogged = UserManager.FindById(User.Identity.GetUserId());

            if (Request.Files.Count > 0)
            {
                try
                {
                    //  Get all files from Request object
                    HttpFileCollectionBase files = Request.Files;
                    for (int i = 0; i < files.Count; i++)
                    {
                        HttpPostedFileBase file = files[i];
                        var sourceImage         = Image.FromStream(file.InputStream);

                        sourceImage = ResizeImage(sourceImage, 500, 500);

                        //Generowanie plik
                        var fileExt  = Path.GetExtension(file.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);

                        Zdjecie zdjecie = new Zdjecie
                        {
                            FilePath  = filename,
                            ZwierzeId = id,
                            Zwierze   = zwierze
                        };

                        //Sprawdź czy Zwierze ma zdjęcie domyślne
                        if (zwierze.NazwaPlikuObrazka == "Domyslne.png")
                        {
                            zwierze.NazwaPlikuObrazka = filename;
                        }

                        db.Zdjecie.AddOrUpdate(zdjecie);
                        db.SaveChanges();
                    }

                    var zz = db.Zdjecie.Where(a => a.ZwierzeId == id).ToList();

                    var vm = new WystawioneZwierzetaViewModel()
                    {
                        WystawioneZwierzeta = zwierze, Zdjecia = zz
                    };


                    return(PartialView("_Zdjecia", vm));
                }
                catch (Exception ex)
                {
                    return(Json("Error occurred. Error details: " + ex.Message));
                }
            }
            else
            {
                return(Json("No files selected."));
            }
        }
コード例 #2
0
        public ActionResult UsunZdjecie(int zdjecieId)
        {
            var Zdjecie = db.Zdjecie.Find(zdjecieId);


            var ZwierzeId = Zdjecie.ZwierzeId;
            var Zwierze   = db.Zwierzeta.Find(ZwierzeId);

            //Sprawdz ile zdjec jest obecnie przypisanych do tego zwierza
            var Zdjecia = db.Zdjecie.Where(a => a.ZwierzeId == ZwierzeId).ToList();

            if (Zdjecia == null)
            {
                var zd = new Zdjecie()
                {
                    FilePath  = "Domyslne.png",
                    ZwierzeId = ZwierzeId
                };
                db.Entry(zd).State = EntityState.Deleted;
            }

            //Sprawdz czy usuwane zdjecie jest glownym zdjeciem tego Zwierza
            var ZdjecieGlowne = db.Zwierzeta.Where(a => a.NazwaPlikuObrazka == Zdjecie.FilePath).SingleOrDefault();

            if (ZdjecieGlowne != null)
            {
                //Sprawdz czy zwierze ma inne Zdjecia
                if (Zdjecia != null)
                {
                    //Ustaw inne zdjecie głównym zdjeciem
                    Zwierze.NazwaPlikuObrazka = Zdjecia.Where(a => a.ZdjecieID != zdjecieId).Take(1).FirstOrDefault().FilePath;
                }
                //W innym przypadku ustaw domyślne zdjecie
                else
                {
                    Zwierze.NazwaPlikuObrazka = "Domyslne.png";
                }
            }

            db.Entry(Zdjecie).State = EntityState.Deleted;
            db.SaveChanges();
            //Check if current user is admin
            bool IsAdmin = User.IsInRole("Admin");

            ViewBag.UserIsAdmin = IsAdmin;

            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.Gatunki     = db.Gatunki.ToList().Select(a => a.NazwaGatunku);

            List <Zwierze> WystawioneZwierzeta;

            //Dla administratorów zwracamy wszystkie zamowienia
            if (IsAdmin)
            {
                WystawioneZwierzeta = db.Zwierzeta.ToList();
            }
            else
            {
                var user = UserManager.FindById(User.Identity.GetUserId());
                WystawioneZwierzeta = db.Zwierzeta.Where(a => a.UserId == user.Id).ToList();
            }

            var vm = new List <WystawioneZwierzetaViewModel>();

            WystawioneZwierzeta.ForEach(a =>
            {
                vm.Add(new WystawioneZwierzetaViewModel()
                {
                    WystawioneZwierzeta = a,
                    Zdjecia             = db.Zdjecie.Where(b => b.ZwierzeId == a.ZwierzeId).ToList()
                });
            });

            var zz      = db.Zdjecie.Where(a => a.ZwierzeId == ZwierzeId).ToList();
            var zwierze = db.Zwierzeta.Find(ZwierzeId);
            var cc      = new WystawioneZwierzetaViewModel()
            {
                WystawioneZwierzeta = zwierze, Zdjecia = zz
            };

            var zw = vm.Where(a => a.WystawioneZwierzeta.ZwierzeId == ZwierzeId).FirstOrDefault();

            return(PartialView("_Zdjecia", cc));
        }