Exemple #1
0
 public KategorieVM(KategorieDTO wiersz)
 {
     Id         = wiersz.Id;
     Nazwa      = wiersz.Nazwa;
     Slug       = wiersz.Slug;
     Sortowanie = wiersz.Sortowanie;
 }
Exemple #2
0
        public string DodajNowaKategorie(string catname)
        {
            string id;

            using (Db db = new Db())
            {
                if (db.Kategorie.Any(x => x.Nazwa == catname))
                {
                    return("titletaken");
                }

                // Init DTO
                KategorieDTO dto = new KategorieDTO();

                //Dodaje
                dto.Nazwa      = catname;
                dto.Slug       = catname.Replace(" ", "-").ToLower();
                dto.Sortowanie = 100;

                //Sejw
                db.Kategorie.Add(dto);
                db.SaveChanges();

                id = dto.Id.ToString();
            }

            return(id);
        }
Exemple #3
0
        //Shop/Kategorie/name
        public ActionResult Kategorie(string name)
        {
            // lista produktow
            List <ProduktyVM> produktyVMs;

            using (Db db = new Db())
            {
                KategorieDTO dto = db.Kategorie.Where(x => x.Slug == name).FirstOrDefault();
                if (dto == null)
                {
                    return(RedirectToAction("Kategorie"));
                }
                int kateId = dto.Id;

                //inicjaizacja
                produktyVMs = db.Produkty.ToArray().Where(x => x.KategoriaId == kateId).Select(x => new ProduktyVM(x)).ToList();

                var produktKat = db.Produkty.Where(x => x.KategoriaId == kateId).FirstOrDefault();
                ViewBag.CategoryName = produktKat.KategoriaNazwa;
            }

            //pobieram kategorie id
            return(View(produktyVMs));
        }
Exemple #4
0
        public string ZmianaNazwyKategori(string newCatName, int id)
        {
            using (Db db = new Db())
            {
                // Check category name is unique
                if (db.Kategorie.Any(x => x.Nazwa == newCatName))
                {
                    return("titletaken");
                }

                // Get DTO
                KategorieDTO dto = db.Kategorie.Find(id);

                // Edit DTO
                dto.Nazwa = newCatName;
                dto.Slug  = newCatName.Replace(" ", "-").ToLower();

                // Save
                db.SaveChanges();
            }

            // Return
            return("ok");
        }
Exemple #5
0
        public ActionResult EdycjaProduktu(ProduktyVM model, HttpPostedFileBase file)
        {
            //Get produkt ID
            int id = model.Id;

            //Populacja kategorii select list oraz zdjec galerii
            using (Db db = new Db())
            {
                //Upewnij sie ze nazwa produktu jest unikatowa
                model.Kategorie = new SelectList(db.Kategorie.ToList(), "Id", "Nazwa");
            }
            model.GaleriaZdjecia = Directory.EnumerateFiles(Server.MapPath("~/Zdjecia/Uploads/Produkty/" + id + "/Galeria/Thumbs")).Select(fn => Path.GetFileName(fn));


            //Check model errors
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            //Sprawdzam czy nazwa produktu jest unikatowa
            using (Db db = new Db())
            {
                if (db.Produkty.Where(x => x.Id != id).Any(x => x.Nazwa == model.Nazwa))
                {
                    ModelState.AddModelError("", "Nazwa produktu zostala wybrana");
                    return(View(model));
                }
            }
            // Update produkt
            using (Db db = new Db())
            {
                ProduktyDTO dto = db.Produkty.Find(id);
                dto.Nazwa        = model.Nazwa;
                dto.Slug         = model.Nazwa.Replace(" ", "-").ToLower();
                dto.Cena         = model.Cena;
                dto.Opis         = model.Opis;
                dto.KategoriaId  = model.KategoriaId;
                dto.NazwaZdjecia = model.NazwaZdjecia;

                KategorieDTO kategoriaDTO = db.Kategorie.FirstOrDefault(x => x.Id == model.KategoriaId);
                kategoriaDTO.Nazwa = kategoriaDTO.Nazwa;
                db.SaveChanges();
            }
            TempData["SM"] = "Udało Ci się dodać produkt";
            #region Image Upload

            // Sprawdz plik do uploadu
            if (file != null && file.ContentLength > 0)
            {
                // Pobierz rozszerzenie
                string ext = file.ContentType.ToLower();

                // sprwadz rozszerzenie
                if (ext != "image/jpg" && ext != "image/jpeg" && ext != "image/pjpeg" &&
                    ext != "image/gif" && ext != "image/x-png" && ext != "image/png")
                {
                    using (Db db = new Db())
                    {
                        ModelState.AddModelError("", "Zdjecie nie zostalo dodane bledne rozszerzenie zdjecia.");
                        return(View(model));
                    }
                }

                // Set uplpad directory paths
                var originalDirectory = new DirectoryInfo(string.Format("{0}Zdjecia\\Uploads", Server.MapPath(@"\")));

                var pathString1 = Path.Combine(originalDirectory.ToString(), "Produkty\\" + id.ToString());
                var pathString2 = Path.Combine(originalDirectory.ToString(), "Produkty\\" + id.ToString() + "\\Thumbs");

                //Usun pliki z kategorii
                DirectoryInfo di1 = new DirectoryInfo(pathString1);
                DirectoryInfo di2 = new DirectoryInfo(pathString2);
                foreach (FileInfo file2 in di1.GetFiles())
                {
                    file2.Delete();
                }

                foreach (FileInfo file3 in di2.GetFiles())
                {
                    file3.Delete();
                }

                // Zasejwuj nazwe zdjecia
                string imageName = file.FileName;

                using (Db db = new Db())
                {
                    ProduktyDTO dto = db.Produkty.Find(id);
                    dto.NazwaZdjecia = imageName;

                    db.SaveChanges();
                }

                // Zasejwuj orginal i miniaturki zdjecia
                var path  = string.Format("{0}\\{1}", pathString1, imageName);
                var path2 = string.Format("{0}\\{1}", pathString2, imageName);

                file.SaveAs(path);

                WebImage img = new WebImage(file.InputStream);
                img.Resize(200, 200);
                img.Save(path2);
            }

            #endregion
            return(RedirectToAction("EdycjaProduktu"));
        }
Exemple #6
0
        public ActionResult DodajProdukt(ProduktyVM model, HttpPostedFileBase file) // przekazuje zdjecie jako 2 argument
        {
            //Sprawdzam stan modelu
            if (!ModelState.IsValid)
            {
                using (Db db = new Db())
                {
                    model.Kategorie = new SelectList(db.Kategorie.ToList(), "Id", "Nazwa");
                    return(View(model)); // jesli model nie przejdzie weryfikacji
                }
            }
            //Upewniam sie ze nazwa produktu jest unikalna
            using (Db db = new Db())
            {
                if (db.Produkty.Any(x => x.Nazwa == model.Nazwa))
                {
                    model.Kategorie = new SelectList(db.Kategorie.ToList(), "Id", "Nazwa");
                    ModelState.AddModelError("", "Ta nazwa produktu została juz wybrana");
                    return(View(model)); // jesli model nie przejdzie weryfikacji
                }
            }
            //Deklaruje id produktu
            int id;

            using (Db db = new Db())
            {
                ProduktyDTO produkt = new ProduktyDTO();
                produkt.Nazwa       = model.Nazwa;
                produkt.Slug        = model.Nazwa.Replace(" ", "-").ToLower();
                produkt.Opis        = model.Opis;
                produkt.Cena        = model.Cena;
                produkt.KategoriaId = model.KategoriaId;

                KategorieDTO catDTO = db.Kategorie.FirstOrDefault(x => x.Id == model.KategoriaId);
                produkt.KategoriaNazwa = catDTO.Nazwa;

                db.Produkty.Add(produkt);
                db.SaveChanges();

                // get the id
                id = produkt.Id;
            }

            // Set TempData message
            TempData["SM"] = "Udalo ci się dodać produkt";

            //upload Image podczas dodawania produktu
            #region Upload Image
            //Tworze strukture katalogow
            var originalDirectory = new DirectoryInfo(string.Format("{0}Zdjecia\\Uploads", Server.MapPath(@"\")));

            //ustawiam foldery struktury katalogow
            var pathString1 = Path.Combine(originalDirectory.ToString(), "Produkty");
            var pathString2 = Path.Combine(originalDirectory.ToString(), "Produkty\\" + id.ToString());
            var pathString3 = Path.Combine(originalDirectory.ToString(), "Produkty\\" + id.ToString() + "\\Thumbs");
            var pathString4 = Path.Combine(originalDirectory.ToString(), "Produkty\\" + id.ToString() + "\\Galeria");
            var pathString5 = Path.Combine(originalDirectory.ToString(), "Produkty\\" + id.ToString() + "\\Galeria\\Thumbs");

            if (!Directory.Exists(pathString1))
            {
                Directory.CreateDirectory(pathString1);
            }

            if (!Directory.Exists(pathString2))
            {
                Directory.CreateDirectory(pathString2);
            }

            if (!Directory.Exists(pathString3))
            {
                Directory.CreateDirectory(pathString3);
            }

            if (!Directory.Exists(pathString4))
            {
                Directory.CreateDirectory(pathString4);
            }

            if (!Directory.Exists(pathString5))
            {
                Directory.CreateDirectory(pathString5);
            }

            // Sprawdz czy zdjecie zostalo dodane
            if (file != null && file.ContentLength > 0)
            {
                //Pobieram rozszerzenie pliku
                string ext = file.ContentType.ToLower();

                // sprawdzam rozszerzenie jesli nie pasuje do tych formatow opisanych ponizej

                if (ext != "image/jpg" &&
                    ext != "image/jpeg" &&
                    ext != "image/pjpeg" &&
                    ext != "image/gif" &&
                    ext != "image/x-png" &&
                    ext != "image/png")
                {
                    using (Db db = new Db())
                    {
                        model.Kategorie = new SelectList(db.Kategorie.ToList(), "Id", "Nazwa");
                        ModelState.AddModelError("", "Zdjecie nie zostalo dodane , zla nazwa produktu.");
                        return(View(model));
                    }
                }

                //Inicjalizuje nazwe zdjecia
                string imageName = file.FileName;

                // Serjwuje zdjecie do DTO
                using (Db db = new Db())
                {
                    ProduktyDTO dto = db.Produkty.Find(id);
                    dto.NazwaZdjecia = imageName;
                    db.SaveChanges();
                }

                // Ustawiam orginal oraz thumb sciezki
                var path  = string.Format("{0}\\{1}", pathString2, imageName);
                var path2 = string.Format("{0}\\{1}", pathString3, imageName);

                // Save orgyinalne zdjecie
                file.SaveAs(path);

                // Tworze i sejwuje thumb
                WebImage img = new WebImage(file.InputStream);
                img.Resize(200, 200);
                img.Save(path2);// na sciezce
            }
            #endregion

            return(RedirectToAction("DodajProdukt"));
        }