示例#1
0
        public JsonResult Duzenle(EditKategoriModel model)
        {
            ModelState.Remove("ProfilRsm");
            if (ModelState.IsValid)
            {
                var kategori = _kategoriService.BulId(model.Id);

                if (model.ProfilRsm != null)
                {
                    var image               = model.ProfilRsm;
                    var fileName            = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(image.FileName);
                    var imageDirectory      = Server.MapPath("~/Content/Images/uploads/Kategori");
                    var imageDirectorySmall = Server.MapPath("~/Content/Images/uploads/Kategori/Küçük");

                    // dizin yoksa oluştur.
                    if (!Directory.Exists(imageDirectory))
                    {
                        Directory.CreateDirectory(imageDirectory);
                        Directory.CreateDirectory(imageDirectorySmall);
                    }

                    // resmi sunucuya kaydet
                    image.SaveAs(Path.Combine(imageDirectory, fileName));

                    // resmi küçük boyutta kaydet
                    ImageManager.SaveResizedImage(Image.FromFile(Path.Combine(imageDirectory, fileName)), new Size(300, 300), imageDirectorySmall, fileName);
                    kategori.ProfilResimUrl = Path.Combine("Content/Images/uploads/Kategori/Küçük/", fileName);
                }
                kategori.Ad             = model.Ad;
                kategori.AltID          = model.AltID;
                kategori.Diger          = model.Diger;
                kategori.Aciklama       = model.Aciklama;
                kategori.IsActive       = model.IsActive;
                kategori.DugumYoluIdler = "";
                kategori.DugumYoluMetni = "";
                kategori.SeoAd          = StringManager.SeoDuzenleme(model.Ad);
                _kategoriService.Guncelle(kategori);

                return(Json(new ResultJson {
                    Success = true, Message = "Kayıt başarıyla güncellendi!"
                }));
            }
            model.Kategoriler = _kategoriService.TumKayitlar();
            return(Json(new ResultJson {
                Success = false, Message = "Güncelleme başarısız! Hata-500"
            }));
        }
        public async Task <IActionResult> Duzenle(KategoriListeDTO model, IFormFile resim)
        {
            //model.id = Convert.ToInt32(TempData["id"]);
            var kategoriGelen = _kategoriService.GetirIdile(model.id);

            if (ModelState.IsValid)
            {
                if (resim != null)
                {
                    string uzanti  = Path.GetExtension(resim.FileName);
                    string resimAd = Guid.NewGuid() + uzanti;
                    string path    = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Kategori/" + resimAd);

                    //resim update olmussa eski resmi sil
                    if (model.resim != "default.png")
                    {
                        model.resim = Path.Combine(_iweb.WebRootPath, "img/Kategori/", model.resim);
                        FileInfo fi = new FileInfo(model.resim);
                        if (fi != null)
                        {
                            System.IO.File.Delete(model.resim);
                            fi.Delete();
                        }
                    }

                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        await resim.CopyToAsync(stream);
                    }

                    model.resim = resimAd;
                }



                //farklı bir kategori seçilmemişse
                if (Convert.ToInt32(TempData["id"]) == model.id)
                {
                    _kategoriService.Guncelle(new Kategori()
                    {
                        id               = Convert.ToInt32(TempData["id"]),
                        kategori_adi     = model.kategori_adi,
                        ust_kategori_adi = kategoriGelen.ust_kategori_adi,
                        ust_kategori_id  = kategoriGelen.ust_kategori_id,
                        seourl           = model.seourl,
                        yayin_durumu     = model.yayin_durumu,
                        //sira = model.sira,
                        resim = model.resim
                    });
                }

                //farklı bir kategori seçilip güncelleme yapılmışsa
                if (Convert.ToInt32(TempData["id"]) != model.id && model.id != 0)
                {
                    _kategoriService.Guncelle(new Kategori()
                    {
                        id               = Convert.ToInt32(TempData["id"]),
                        kategori_adi     = model.kategori_adi,
                        ust_kategori_adi = kategoriGelen.kategori_adi,
                        ust_kategori_id  = kategoriGelen.id,
                        seourl           = model.seourl,
                        yayin_durumu     = model.yayin_durumu,
                        //sira = model.sira,
                        resim = model.resim
                    });
                }

                //anakategori seçilip güncelleme yapılmışsa
                if (model.id == 0)
                {
                    _kategoriService.Guncelle(new Kategori()
                    {
                        id               = Convert.ToInt32(TempData["id"]),
                        kategori_adi     = model.kategori_adi,
                        ust_kategori_adi = "Anakategori",
                        ust_kategori_id  = 0,
                        seourl           = model.seourl,
                        yayin_durumu     = model.yayin_durumu,
                        //sira = model.sira,
                        resim = model.resim
                    });
                }



                return(RedirectToAction("Index"));
            }
            ;

            var gelenKategori = _mapper.Map <KategoriListeDTO>(_kategoriService.GetirIdile(model.id));

            ViewBag.TumKategoriler = _mapper.Map <List <KategoriListeDTO> >(_kategoriService.GetirHepsi());
            return(View(model));
        }