コード例 #1
0
        public void Insert(HaberViewModel model)
        {
            MyContext db = new MyContext();

            using (db.Database.BeginTransaction())
            {
                try
                {
                    var kategoriler = db.Kategoriler.Where(x => model.Kategoriler.Contains(x.Id)).ToList();
                    var yeniHaber   = new Haber()
                    {
                        Baslik   = model.Baslik,
                        Icerik   = model.Icerik,
                        Keywords = model.Keywords
                    };
                    db.Haberler.Add(yeniHaber);
                    db.SaveChanges();
                    yeniHaber.Kategoriler.AddRange(kategoriler);
                    db.SaveChanges();
                    db.Database.CurrentTransaction.Commit();
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                }
            }
        }
コード例 #2
0
        public void Update(HaberViewModel model)
        {
            MyContext db = new MyContext();

            using (db.Database.BeginTransaction())
            {
                try
                {
                    var haber = db.Haberler.Find(model.Id);
                    if (haber == null)
                    {
                        throw new DbEntityValidationException("Güncellenecek haber bulunamadı");
                    }

                    var kategoriler = db.Kategoriler.Where(x => model.Kategoriler.Contains(x.Id)).ToList();

                    haber.Baslik    = model.Baslik;
                    haber.Icerik    = model.Icerik;
                    haber.Keywords  = model.Keywords;
                    haber.YayindaMi = model.YayindaMi;
                    db.SaveChanges();

                    haber.Kategoriler.Clear();
                    haber.Kategoriler = kategoriler;
                    db.SaveChanges();
                    db.Database.CurrentTransaction.Commit();
                }
                catch (DbEntityValidationException ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    throw ex;
                }
            }
        }
コード例 #3
0
        public ActionResult HaberEkle()
        {
            // dropdownlist elemanlarını ilkleme
            var model = new HaberViewModel
            {
                Kategoriler   = kategoriServis.Kategoriler(),
                Kullanicilar  = kullaniciServis.Kullanicilar(),
                HaberTipleri  = haberServis.HaberTipleri(),
                Etiketler     = etiketServis.Etiketler(),
                HaberPozisyon = haberServis.HaberPozisyonlari()
            };

            return(View(model));
        }
コード例 #4
0
        public ActionResult HaberDuzenle(int id)
        {
            var            haber = haberServis.HaberBul(id);
            HaberViewModel model = ModelToViewModel.HaberToHaberViewModel(haber);

            // dropdownlistleri ilkleme
            model.Kategoriler   = kategoriServis.Kategoriler();
            model.Kullanicilar  = kullaniciServis.Kullanicilar();
            model.HaberTipleri  = haberServis.HaberTipleri();
            model.Etiketler     = etiketServis.Etiketler();
            model.HaberPozisyon = haberServis.HaberPozisyonlari();

            return(View(model));
        }
コード例 #5
0
 public ActionResult Ekle(HaberViewModel model)
 {
     if (!ModelState.IsValid)
     {
         ModelState.AddModelError("", "Haber eklerken bir hata meydana geldi");
         return(View(model));
     }
     try
     {
         new HaberRepo().Insert(model);
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         return(View(model));
     }
 }
コード例 #6
0
 public ActionResult Ekle(HaberViewModel model)
 {
     ViewBag.Kategoriler = DropDownListDoldurucu.KategoriList();
     if (!ModelState.IsValid)
     {
         ModelState.AddModelError("", "Haber eklerken bir hata meydana geldi");
         return(View(model));
     }
     try
     {
         new HaberRepo().Insert(model);
         return(RedirectToAction("Index"));
     }
     catch (DbEntityValidationException ex)
     {
         return(View(model));
     }
 }
コード例 #7
0
        public static HaberViewModel HaberToHaberViewModel(Haber haber)
        {
            HaberViewModel model = new HaberViewModel();

            model.Aciklama         = haber.Aciklama;
            model.Baslik           = haber.Baslik;
            model.HaberTipId       = haber.HaberTipId;
            model.Icerik           = haber.Icerik;
            model.Id               = haber.Id;
            model.KategoriId       = haber.KategoriId;
            model.Kaynak           = haber.Kaynak;
            model.KullaniciId      = haber.KullaniciId;
            model.SecilenEtiketler = haber.Etiketler.Select(x => x.Id).ToArray();
            model.Yayinda          = haber.Yayinda;
            model.KucukResim       = haber.KucukProfilResim;
            model.HaberPozisyonId  = haber.HaberPozisyonId;

            return(model);
        }
コード例 #8
0
 public ActionResult Duzenle(HaberViewModel model)
 {
     ViewBag.Kategoriler = DropDownListDoldurucu.KategoriList();
     if (!ModelState.IsValid)
     {
         ModelState.AddModelError("", "Haber düzenlenirken bir hata oluştu");
         return(View(model));
     }
     try
     {
         new HaberRepo().Update(model);
         return(RedirectToAction("Index"));
     }
     catch (Exception e)
     {
         ModelState.AddModelError("", e.Message);
         return(View(model));
     }
 }
コード例 #9
0
        public static Haber HaberViewModelToHaber(HaberViewModel model, Haber haber)
        {
            int kullaniciId = model.KullaniciId;

            haber.Id                  = model.Id;
            haber.Aciklama            = model.Aciklama;
            haber.Baslik              = model.Baslik;
            haber.HaberTipId          = model.HaberTipId;
            haber.Icerik              = model.Icerik;
            haber.KategoriId          = model.KategoriId;
            haber.Kaynak              = model.Kaynak;
            haber.Yayinda             = model.Yayinda;
            haber.DegistirmeKullanici = kullaniciId;
            haber.YayinlamaKullanici  = kullaniciId;
            haber.KullaniciId         = kullaniciId;
            haber.HaberPozisyonId     = model.HaberPozisyonId;

            return(haber);
        }
コード例 #10
0
        public ActionResult Duzenle(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            var haber = new HaberRepo().GetByID(id.Value);

            if (haber == null)
            {
                return(RedirectToAction("Index"));
            }
            var kategoriList = DropDownListDoldurucu.KategoriList();

            foreach (var item in kategoriList)
            {
                if (haber.Kategoriler.Select(x => x.Id).Contains(int.Parse(item.Value)))
                {
                    item.Selected = true;
                }
            }
            ViewBag.Kategoriler = kategoriList.OrderByDescending(x => x.Selected);
            //ViewBag.Kategoriler = DropDownListDoldurucu.KategoriList();
            //ViewData["Kategoriler"]; üstekiyle aynı

            var model = new HaberViewModel()
            {
                Icerik        = haber.Icerik,
                Id            = haber.Id,
                Kategoriler   = haber.Kategoriler.Select(x => x.Id).ToList(),
                Baslik        = haber.Baslik,
                Keywords      = haber.Keywords,
                YayindaMi     = haber.YayindaMi,
                EklenmeZamani = haber.EklenmeZamani
            };

            return(View(model));
        }
コード例 #11
0
        public ActionResult HaberEkle(HaberViewModel model)
        {
            try
            {
                Haber haber = new Haber();
                haber = ViewModelToModel.HaberViewModelToHaber(model, haber);
                var dosya     = model.Resim;
                var etiketler = etiketServis.Etiketler(model.SecilenEtiketler);

                if (dosya != null && dosya.ContentLength > 0)
                {
                    // resmin ismini değiştir.
                    var fileName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(dosya.FileName);

                    // dosya dizinlerinin yollarını oluştur.
                    var orijinalResimDizin = Server.MapPath("~/Images/uploads/Haber");
                    var buyukResimDizin    = Server.MapPath("~/Images/uploads/Haber/Buyuk");
                    var kucukResimDizin    = Server.MapPath("~/Images/uploads/Haber/Kucuk");

                    // dizin yoksa oluştur.
                    if (!Directory.Exists(orijinalResimDizin))
                    {
                        Directory.CreateDirectory(orijinalResimDizin);
                        Directory.CreateDirectory(buyukResimDizin);
                        Directory.CreateDirectory(kucukResimDizin);
                    }

                    // dosyayı kaydet
                    dosya.SaveAs(Path.Combine(orijinalResimDizin, fileName));

                    // resimleri farklı boyutlarda kaydet.
                    ImageManager.SaveResizedImage(Image.FromFile(Path.Combine(orijinalResimDizin, fileName)), new Size(600, 600), buyukResimDizin, fileName);
                    ImageManager.SaveResizedImage(Image.FromFile(Path.Combine(orijinalResimDizin, fileName)), new Size(200, 200), kucukResimDizin, fileName);

                    haber.OrjinalProfilResim = Path.Combine("Images/uploads/Haber/", fileName);
                    haber.BuyukProfilResim   = Path.Combine("Images/uploads/Haber/Buyuk/", fileName);
                    haber.KucukProfilResim   = Path.Combine("Images/uploads/Haber/Kucuk/", fileName);
                }

                haber.DegistirmeTarihi = DateTime.Now;
                haber.OkunmaSayisi     = 0;
                haber.OlusturmaTarihi  = DateTime.Now;
                haber.YayinlanmaTarihi = DateTime.Now;
                haber.YorumSayisi      = 0;
                haber.TumEtiketler     = string.Join(", ", etiketler.Select(x => x.Ad));
                etiketler.ForEach(x => haber.Etiketler.Add(x));

                haberServis.HaberEkle(haber);

                return(RedirectToAction("Haberler"));
            }
            catch (Exception ex)
            {
                // haber kaydı başarısızsa
                // dropdownlist elemanlarını
                // tekrar ilkleme
                model = new HaberViewModel
                {
                    Kategoriler   = kategoriServis.Kategoriler(),
                    Kullanicilar  = kullaniciServis.Kullanicilar(),
                    HaberTipleri  = haberServis.HaberTipleri(),
                    Etiketler     = etiketServis.Etiketler(),
                    HaberPozisyon = haberServis.HaberPozisyonlari()
                };
            }

            return(View(model));
        }