Esempio n. 1
0
        public ActionResult Sil(int id)
        {
            Haber dbHaber      = _haberRepository.GetById(id);
            var   dbDetayResim = _resimRepository.GetMany(x => x.HaberID == id);

            if (dbHaber == null)
            {
                throw new Exception("Haber Bulunamadı");
            }

            string   file_name = dbHaber.Resim;
            string   path      = Server.MapPath(file_name);
            FileInfo file      = new FileInfo(path);

            if (file.Exists) // Dosyanın varlığı kontrol ediliyor. Fiziksel olarak var ise siliniyor.
            {
                file.Delete();
            }
            if (dbDetayResim != null)
            {
                foreach (var item in dbDetayResim)
                {
                    string   detayPath = Server.MapPath(item.ResimUrl);
                    FileInfo files     = new FileInfo(detayPath);
                    if (files.Exists)
                    {
                        files.Delete();
                    }
                }
            }
            _haberRepository.Delete(id);
            _haberRepository.Save();
            TempData["Bilgi"] = "Haber Başarılı Bir Şekilde Silindi";
            return(RedirectToAction("Index", "Haber"));
        }
Esempio n. 2
0
        public ActionResult Sil(int id)
        {
            Haber dbHaber      = _haberRepository.GetById(id);
            var   dbDetayResim = _resimRepository.GetMany(x => x.HaberID == id);

            if (dbHaber == null)
            {
                throw new Exception("Haber Bulunamadı!");
            }



            //haberin resmine erişip silcez klasörden
            string   file_name = dbHaber.Resim;
            string   path      = Server.MapPath(file_name);
            FileInfo file      = new FileInfo(path);


            if (file.Exists) //dosyanın varlığı kontrol ediliyor .fiziksel olarak var ise siliniyor
            {
                file.Delete();
            }


            //detay resimleride silcez
            if (dbDetayResim != null)
            {
                foreach (var item in dbDetayResim)
                {
                    string   resimDetayPath = Server.MapPath(item.ResimUrl);
                    FileInfo files          = new FileInfo(resimDetayPath);

                    if (files.Exists)
                    {
                        files.Delete();
                    }
                }
            }

            _haberRepository.Delete(id); //Haber sildikten sonra zaten Resim tablosundaki bu habere bağlı olan resimlerde silinecek zaten .çünkü foreigb key bağlantısında delete rule kısmı cascade olduğu için otomatikmen Resim tablosundaki verilerde silinir.
            _haberRepository.Save();


            TempData["Bilgi"] = "Haber Başarılı bir şekilde silindi";

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