public KategorieVM(KategorieDTO wiersz) { Id = wiersz.Id; Nazwa = wiersz.Nazwa; Slug = wiersz.Slug; Sortowanie = wiersz.Sortowanie; }
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); }
//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)); }
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"); }
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")); }
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")); }