示例#1
0
        //[Route("~/{kategoriAdi}/{haberBaslik}/{id=int?}")]
        public ActionResult HaberDetay(int?id)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }
            var haber = _haberService.BulId(id);

            haber.OkumaSayisi++;
            _haberService.Guncelle(haber);
            return(View(haber));
        }
        public JsonResult Edit(EditHaberViewModel model)
        {
            ModelState.Remove("ProfilRsm");
            if (ModelState.IsValid)
            {
                var haber     = _haberService.BulId(model.Id);
                var etiketler = _etiketService.TumKayitlar(model.SecilenEtiketId);
                var resimler  = _resimlerService.TumKayitlar(model.SecilenResimlerId);
                var seoBaslik = StringManager.SeoDuzenleme(model.Baslik);

                ApplicationUser kullanici = UserManager.FindByEmail(User.Identity.GetUserName());

                if (model.ProfilRsm != null)
                {
                    var image    = model.ProfilRsm;
                    var fileName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(image.FileName);

                    var ProfilRsmUrl      = Server.MapPath("~/Content/Images/uploads/Haber/" + seoBaslik);
                    var ProfilRsmUrlBuyuk = Server.MapPath("~/Content/Images/uploads/Haber/" + seoBaslik + "/Büyük");
                    var ProfilRsmUrlOrta  = Server.MapPath("~/Content/Images/uploads/Haber/" + seoBaslik + "/Orta");
                    var ProfilRsmUrlKucuk = Server.MapPath("~/Content/Images/uploads/Haber/" + seoBaslik + "/Küçük");

                    // dizin yoksa oluştur.
                    if (!Directory.Exists(ProfilRsmUrl))
                    {
                        Directory.CreateDirectory(ProfilRsmUrl);
                        Directory.CreateDirectory(ProfilRsmUrlBuyuk);
                        Directory.CreateDirectory(ProfilRsmUrlOrta);
                        Directory.CreateDirectory(ProfilRsmUrlKucuk);
                    }

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

                    // resmi küçük boyutta kaydet
                    ImageManager.SaveResizedImage(Image.FromFile(Path.Combine(ProfilRsmUrl, fileName)), new Size(150, 150), ProfilRsmUrlKucuk, fileName);
                    ImageManager.SaveResizedImage(Image.FromFile(Path.Combine(ProfilRsmUrl, fileName)), new Size(450, 450), ProfilRsmUrlOrta, fileName);
                    ImageManager.SaveResizedImage(Image.FromFile(Path.Combine(ProfilRsmUrl, fileName)), new Size(750, 750), ProfilRsmUrlBuyuk, fileName);

                    haber.ProfilRsmUrl      = Path.Combine("Content/Images/uploads/Haber/" + seoBaslik + "/", fileName);
                    haber.ProfilRsmUrlBuyuk = Path.Combine("Content/Images/uploads/Haber/" + seoBaslik + "/Büyük/", fileName);
                    haber.ProfilRsmUrlOrta  = Path.Combine("Content/Images/uploads/Haber/" + seoBaslik + "/Orta/", fileName);
                    haber.ProfilRsmUrlKucuk = Path.Combine("Content/Images/uploads/Haber/" + seoBaslik + "/Küçük/", fileName);
                }


                haber.Baslik                 = model.Baslik;
                haber.SeoBaslik              = seoBaslik;
                haber.Aciklama               = model.Aciklama;
                haber.HaberPozisyonID        = model.HaberPozisyonuID;
                haber.HaberTipID             = model.HaberTipiID;
                haber.KategoriID             = model.KategoriID;
                haber.Kaynak                 = model.Kaynak;
                haber.Icerik                 = model.Icerik;
                haber.IsActive               = model.IsActive;
                haber.IsYayinlandiMi         = model.IsYayinlandiMi;
                haber.GuncellemeTarihi       = DateTime.Now;
                haber.GuncelleyenKullaniciId = kullanici.Id;
                haber.EtiketAdlari           = String.Join(",", etiketler.Select(e => e.Ad));
                etiketler.ForEach(x => haber.Etiketler.Add(x));
                resimler.ToList().ForEach(x => haber.Galeri.Add(x));
                _haberService.Guncelle(haber);

                return(Json(new ResultJson {
                    Success = true, Message = "Haber başarıyla düzenlendi."
                }));
            }

            model = HaberModelOlustur(model);
            var error = ModelState.Select(x => x.Value.Errors).Where(y => y.Count > 0).ToList();

            return(Json(new ResultJson {
                Success = false, Message = "Haber düzenlenemedi. Hata!"
            }));
        }