Пример #1
0
        public ActionResult Ekle(Haber temp, HttpPostedFileBase vitrinResim, List <HttpPostedFileBase> detayResimler, string etiketler)
        {
            if (temp.Baslik == null || temp.Aciklama == null || temp.KategoriID == 0 || vitrinResim == null)
            {
                TempData["haberEklenmeOlayi"] = "Lütfen başlık,açıklama,kategori seçimi ve resim alanlarını boş geçmeyiniz..";
                return(RedirectToAction("Ekle"));
            }
            Kullanici aktif = (Kullanici)HttpContext.Session["AktifKullanici"];



            try
            {
                //HABER EKLEMEK
                temp.KullaniciID = aktif.Id;

                _haberRepository.Insert(temp);
                _haberRepository.Save();


                //EKLENEN HABERIN ID SINI ALDIM
                //ACIKLAMAYLA ALDIM RISKLI !!!!
                var ekleneksonhaber = (Haber)_haberRepository.Get(x => x.Aciklama == temp.Aciklama);
                var sonhaberID      = ekleneksonhaber.Id;


                //VITRIN RESIM ISLEMLERI
                Image  orj          = Image.FromStream(vitrinResim.InputStream);
                Bitmap bmOrta       = new Bitmap(orj, boyutCeken.ortaBoyutCek);
                string resimAd      = Guid.NewGuid() + Path.GetExtension(vitrinResim.FileName);
                string resimOrtaYol = $"/Images/HaberResimleri/OrtaBoyut/" + resimAd;

                //VITRIN RESIM EKLEMEK
                Resim eklenecekResim = new Resim {
                    HaberID = sonhaberID, ResimYol = resimOrtaYol, VitrinMi = true
                };
                _resimRepository.Insert(eklenecekResim);
                _resimRepository.Save();
                bmOrta.Save(Server.MapPath(resimOrtaYol));

                //TOPLU DETAY RESMI EKLEME OLAYI
                if (detayResimler[0] != null)
                {
                    foreach (var detayResim in detayResimler)
                    {
                        Image  detay       = Image.FromStream(detayResim.InputStream);
                        Bitmap bmDetayOrta = new Bitmap(detay, boyutCeken.ortaBoyutCek);

                        string detayResimAd = Guid.NewGuid() + Path.GetExtension(detayResim.FileName);
                        string detayOrtaYol = $"/Images/HaberResimleri/OrtaBoyut/" + detayResimAd;

                        Resim diziResmi = new Resim {
                            HaberID = sonhaberID, ResimYol = detayOrtaYol
                        };
                        _resimRepository.Insert(diziResmi);
                        _resimRepository.Save();
                        bmDetayOrta.Save(Server.MapPath(detayOrtaYol));
                    }
                }

                //ETİKET OLAYI
                if (etiketler != null)
                {
                    _etiketRepository.EtiketEkle(etiketler, temp.Id);
                }



                TempData["haberEklenmeOlayi"] = "Haber başarıyla eklendi.";

                return(RedirectToAction("Ekle"));
            }
            catch
            {
                TempData["haberEklenmeOlayi"] = "Sorun oluştu lütfen tekrar deneyiniz..";
                return(RedirectToAction("Ekle"));
            }
        }