Asp.Net MVC Blog Yapımı

Herkes  Yazar Herkes Yazar

02 Haziran 2018 Yazılım Dilleri (127) /Asp.Net MVC (107) (1756)

Asp.Net MVC Blog Yapımı

Paylaşmak güzeldir. Lütfen sizde paylaşın...


Asp.Net MVC Blog Uygulaması Yapımı

blog

model

public class kategoriModel
{
[Display(Name = "Kategori Id")]
public int KategoriId { get; set; }
[Required(ErrorMessage = "Kategori Adı Giriniz")]
[Display(Name = "Kategori Adı")]
[StringLength(50, ErrorMessage = " Kategori Adı En Fazla 50 karakter olmalı")]
public string KategoriAdi { get; set; }
}
public class makaleModel
{
public int MakaleId { get; set; }
[Display(Name = "Makale Başlığı")]
[Required(ErrorMessage = "Makale Başlığı Giriniz")]
[StringLength(50, ErrorMessage = "Makale Başlığı En Fazla 50 Karakter Olarak Giriniz")]
public string Baslik { get; set; }
[AllowHtml]
[Display(Name = "Makale İçeriği")]
[Required(ErrorMessage = "Makale İçeriği Giriniz")]
public string Icerik { get; set; }
[Display(Name = "Makale Fotoğrafı")]
[Required(ErrorMessage = "Makale Fotoğrafı Seçiniz")]
public HttpPostedFileBase Foto { get; set; }
public DateTime Tarih { get; set; }
[Display(Name = "Makale Kategori")]
[Required(ErrorMessage = "Makale Kategori Seçiniz")]
public int KategoriId { get; set; }
public List<SelectListItem> KategoriList { get; set; }
public int UyeId { get; set; }
public int Okunma { get; set; }
}
public class uyeModel
{
public int UyeId { get; set; }
[Required(ErrorMessage = "Kullanıcı Adı Giriniz!")]
[Display(Name = "Kullanıcı Adı")]
public string KullaniciAdi { get; set; }
[Required(ErrorMessage = "E-Posta Giriniz!")]
[Display(Name = "E-Posta ")]
public string Email { get; set; }
[Required(ErrorMessage = "Parola Giriniz!")]
[Display(Name = "Parola")]
public string Sifre { get; set; }
[Required(ErrorMessage = "Adı Soyadı Giriniz!")]
[Display(Name = "Adı Soyadı")]
public string AdSoyad { get; set; }
[Required(ErrorMessage = "Fotoğraf Seçiniz")]
[Display(Name = "Fotoğraf")]
public HttpPostedFileBase Foto { get; set; }
[Display(Name = "Üye Statüsü")]
public int UyeAdmin { get; set; }
}

public class HomeController : Controller
{
// GET: Home
myoBlogDBEntities db = new myoBlogDBEntities();
public ActionResult Index()
{
List<Makale> makaleler = db.Makale.OrderByDescending(m => m.MakaleId).Take(5).ToList();
return View(makaleler);
}
public ActionResult Kategoriler()
{
List<Kategori> kategoriler = db.Kategori.ToList();
return PartialView(kategoriler);
}
public ActionResult MakaleDetay(int? id)
{
Makale makale = db.Makale.Where(m => m.MakaleId == id).SingleOrDefault();
if (makale == null)
{
return RedirectToAction("Index");
}
makale.Okunma += 1;
db.SaveChanges();
return View(makale);
}
public PartialViewResult Yorumlar(int? MakaleId)
{
List<Yorum> yorumlar = db.Yorum.Where(s => s.MakaleId == MakaleId).ToList();
return PartialView(yorumlar);
}
public ActionResult KategoriMakale(int? id)
{
Kategori kat = db.Kategori.Where(s => s.KategoriId == id).SingleOrDefault();
if (kat == null)
{
return RedirectToAction("Index");
}
ViewBag.kategori = kat.KategoriAdi;
List<Makale> makaleler = db.Makale.Where(s => s.KategoriId == id).ToList();
if (makaleler.Count == 0)
{
ViewBag.kayityok = "Henüz Bu Kategoride Makale Yoktur!";
}
return View(makaleler);
}
[HttpPost]
public ActionResult BlogAra(string deger)
{
ViewBag.deger = deger;
var aranan = db.Makale.Where(s => s.Baslik.Contains(deger) || s.Icerik.Contains(deger)).ToList();
if (aranan.Count > 0)
{
ViewBag.kayityok = aranan.Count + " Adet Makale Bulundu";
}
else
{
ViewBag.kayityok = "Aradığınız Kritere Uygun Makale Bulunamadı!";
}
return View(aranan.OrderByDescending(o => o.MakaleId).ToList());
}
public ActionResult OturumAc(string returnUrl)
{
ViewBag.returnUrl = returnUrl;
return View();
}
[HttpPost]
public ActionResult OturumAc(uyeModel model, string returnUrl)
{
Uye uye = db.Uye.Where(m => m.KullaniciAdi == model.KullaniciAdi && m.Sifre == model.Sifre).SingleOrDefault();
if (uye != null)
{
Session["uyeOturum"] = true;
Session["uyeId"] = uye.UyeId;
Session["uyeKadi"] = uye.KullaniciAdi;
Session["uyeAdmin"] = uye.UyeAdmin;
Session["uyeFoto"] = uye.Foto;
if (returnUrl == null)
{
return RedirectToAction("Index");
}
else
{
return Redirect(returnUrl);
}
}
else
{
ViewBag.hata = "Geçersiz Kullanıcı Adı veya Parola!";
return View();
}
}
public ActionResult OturumKapat(string returnUrl)
{
Session.Abandon();
return Redirect(returnUrl);
}
public JsonResult YorumYap(string yorum, int MakaleId)
{
if (yorum != null && Session["uyeId"] != null)
{
int uyeId = Convert.ToInt32(Session["uyeId"]);
db.Yorum.Add(new Yorum()
{
YorumIcerik = yorum,
MakaleId = MakaleId,
UyeId = uyeId,
Tarih = DateTime.Now
});
db.SaveChanges();
}
return Json(true, JsonRequestBehavior.AllowGet);
}
public JsonResult YorumSil(int YorumId)
{
if (Session["uyeId"] != null)
{
var silinenYorum = db.Yorum.Where(y => y.YorumId == YorumId).FirstOrDefault();
db.Yorum.Remove(silinenYorum);
db.SaveChanges();
}
return Json(true, JsonRequestBehavior.AllowGet);
}
public ActionResult UyeOl()
{
return View();
}
[HttpPost]
public ActionResult UyeOl(uyeModel model)
{
if (db.Uye.Where(m => m.KullaniciAdi == model.KullaniciAdi).Count() > 0)
{
ViewBag.hata = "Girilen Kullanıcı Adı Kayıtlıdır!";
return View();
}
Uye yeni = new Uye();
if (model.Foto != null && model.Foto.ContentLength > 0)
{
string dosya = Guid.NewGuid().ToString();
string uzanti = Path.GetExtension(model.Foto.FileName).ToLower();
if (uzanti != ".jpg" && uzanti != ".jpeg" && uzanti != ".png")
{
ModelState.AddModelError("Foto", "Dosya Uzantısı JPG,JPEG veya PNG Olmalıdır!");
return View(model);
}
string dosyaAdi = dosya + uzanti;
model.Foto.SaveAs(Server.MapPath("~/Content/UyeFoto/" + dosyaAdi));
yeni.Foto = dosyaAdi;
}
yeni.KullaniciAdi = model.KullaniciAdi;
yeni.Sifre = model.Sifre;
yeni.AdSoyad = model.AdSoyad;
yeni.Email = model.Email;
db.Uye.Add(yeni);
db.SaveChanges();
Uye uye = db.Uye.OrderByDescending(u => u.UyeId).FirstOrDefault();
Session["uyeOturum"] = true;
Session["uyeId"] = uye.UyeId;
Session["uyeKadi"] = uye.KullaniciAdi;
Session["uyeAdmin"] = uye.UyeAdmin;
Session["uyeFoto"] = uye.Foto;
return RedirectToAction("Index");
}
public ActionResult UyeDetay(int? id)
{
Uye uye = db.Uye.Where(m => m.UyeId == id).SingleOrDefault();
if (uye == null)
{
return RedirectToAction("Index");
}
return View(uye);
}
public ActionResult SonEklenenler()
{
List<Makale> makaleler = db.Makale.OrderByDescending(m => m.MakaleId).Take(5).ToList();
return PartialView(makaleler);
}
public ActionResult MakaleEkle()
{
makaleModel model = getModel();
return View(model);
}
[HttpPost]
public ActionResult MakaleEkle(makaleModel model)
{
if (Session["uyeOturum"] == null)
{
RedirectToAction("OturumAc");
}
int uyeId = Convert.ToInt32(Session["uyeId"]);
if (db.Makale.Where(m => m.Baslik == model.Baslik).Count() > 0)
{
ViewBag.hata = "Girilen Başlık Kayıtlıdır!";
return View();
}
else
{
Makale makale = new Makale();
if (model.Foto != null && model.Foto.ContentLength > 0)
{
string dosya = Guid.NewGuid().ToString();
string uzanti = Path.GetExtension(model.Foto.FileName).ToLower();
if (uzanti != ".jpg" && uzanti != ".jpeg" && uzanti != ".png")
{
ModelState.AddModelError("Foto", "Dosya Uzantısı JPG,JPEG veya PNG Olmalıdır!");
return View(model);
}
string dosyaAdi = dosya + uzanti;
model.Foto.SaveAs(Server.MapPath("~/Content/BlogFoto/" + dosyaAdi));
makale.Foto = dosyaAdi;
makale.Baslik = model.Baslik;
makale.KategoriId = model.KategoriId;
makale.Icerik = model.Icerik;
makale.Tarih = DateTime.Now;
makale.Okunma = 0;
makale.UyeId = uyeId;
db.Makale.Add(makale);
db.SaveChanges();
ViewBag.sonuc = "Makale Eklendi";
model = getModel();
return View(model);
}
else
{
ModelState.AddModelError("Foto", "Dosya Seçim Hatası!");
model = getModel();
return View(model);
}
}
}
public ActionResult MakaleDuzenle(int? id)
{
if (Session["uyeOturum"] == null)
{
RedirectToAction("OturumAc");
}
int uyeId = Convert.ToInt32(Session["uyeId"]);
Makale makale = db.Makale.Where(m => m.MakaleId == id && m.UyeId == uyeId).SingleOrDefault();
if (makale == null)
{
return RedirectToAction("UyeDetay/" + uyeId);
}
makaleModel model = getModel();
model.MakaleId = makale.MakaleId;
model.Baslik = makale.Baslik;
model.Icerik = makale.Icerik;
model.KategoriId = makale.KategoriId;
return View(model);
}
[HttpPost]
public ActionResult MakaleDuzenle(makaleModel model)
{
Makale makale = db.Makale.Where(m => m.MakaleId == model.MakaleId).SingleOrDefault();
makale.Baslik = model.Baslik;
makale.KategoriId = model.KategoriId;
makale.Icerik = model.Icerik;
db.SaveChanges();
ViewBag.sonuc = "Makale Güncellendi";
model = getModel();
return View(model);
}
public ActionResult MakaleSil(int? id)
{
if (Session["uyeOturum"] == null)
{
RedirectToAction("OturumAc");
}
int uyeId = Convert.ToInt32(Session["uyeId"]);
Makale makale = db.Makale.Where(m => m.MakaleId == id && m.UyeId
== uyeId).SingleOrDefault();
if (makale != null)
{
if (System.IO.File.Exists(Server.MapPath("~/Content/BlogFoto/" + makale.Foto)))
{
System.IO.File.Delete(Server.MapPath("~/Content/BlogFoto/" + makale.Foto));
}
List<Yorum> yorumlar = db.Yorum.Where(m => m.MakaleId == id).ToList();
db.Yorum.RemoveRange(yorumlar);
db.Makale.Remove(makale);
db.SaveChanges();
return RedirectToAction("UyeDetay/" + uyeId);
}
return RedirectToAction("UyeDetay/" + uyeId);
}
private makaleModel getModel()
{
makaleModel model = new makaleModel();
model.KategoriList = (from kat in db.Kategori.ToList()
select new SelectListItem
{
Selected = false,
Text = kat.KategoriAdi,
Value = kat.KategoriId.ToString()
}).ToList();
model.KategoriList.Insert(0, new SelectListItem
{
Selected = true,
Value = "",
Text = "Seçiniz"
});
return model;
}
}

public class AdminController : BaseController
{
myoBlogDBEntities db = new myoBlogDBEntities();
public ActionResult Index()
{
List<Kategori> kategoriler = db.Kategori.ToList();
ViewBag.katSay = kategoriler.Count;
List<Makale> makaleler = db.Makale.ToList();
ViewBag.makaleSay = makaleler.Count;
List<Uye> uyeler = db.Uye.ToList();
ViewBag.uyeSay = uyeler.Count;
return View();
}
public ActionResult Kategoriler(int? id)
{
if (id == 1)
{
ViewBag.hata = "Kategoriye Ait Makale Olduğu İçin Kategori Silinemez!";
}
if (id == 2)
{
ViewBag.sonuc = "Kategori Silindi";
}
List<Kategori> kategoriler = db.Kategori.ToList();
return View(kategoriler);
}
public ActionResult KategoriEkle()
{
return View();
}
[HttpPost]
public ActionResult KategoriEkle(kategoriModel model)
{
if (db.Kategori.Where(m => m.KategoriAdi == model.KategoriAdi).Count() > 0)
{
ViewBag.hata = "Girilen Kategori Kayıtlıdır!";
return View();
}
else
{
Kategori kat = new Kategori();
kat.KategoriAdi = model.KategoriAdi;
db.Kategori.Add(kat);
db.SaveChanges();
ViewBag.sonuc = "Kategori Eklendi";
return View();
}
}
public ActionResult KategoriDuzenle(int id)
{
Kategori kat = db.Kategori.Where(m => m.KategoriId == id).SingleOrDefault();
kategoriModel model = new kategoriModel();
model.KategoriId = kat.KategoriId;
model.KategoriAdi = kat.KategoriAdi;
return View(model);
}
[HttpPost]
public ActionResult KategoriDuzenle(kategoriModel model)
{
Kategori kat = db.Kategori.Where(m => m.KategoriId == model.KategoriId).SingleOrDefault();
kat.KategoriAdi = model.KategoriAdi;
db.SaveChanges();
ViewBag.sonuc = "Kayıt Güncellendi";
return View();
}
public ActionResult KategoriSil(int? id)
{
if (db.Makale.Where(m => m.KategoriId == id).Count() > 0)
{
return RedirectToAction("Kategoriler/1");
}
Kategori kat = db.Kategori.Where(m => m.KategoriId == id).SingleOrDefault();
if (kat != null)
{
db.Kategori.Remove(kat);
db.SaveChanges();
return RedirectToAction("Kategoriler/2");
}
return RedirectToAction("Kategoriler");
}
public ActionResult Makaleler(int? id)
{
if (id == 1)
{
ViewBag.sonuc = "Makale Silindi";
}
List<Makale> makaleler = db.Makale.ToList();
return View(makaleler);
}
public ActionResult MakaleEkle()
{
makaleModel model = getModel();
return View(model);
}
[HttpPost]
public ActionResult MakaleEkle(makaleModel model)
{
int uyeId = Convert.ToInt32(Session["uyeId"]);
if (db.Makale.Where(m => m.Baslik == model.Baslik).Count() > 0)
{
ViewBag.hata = "Girilen Başlık Kayıtlıdır!";
return View();
}
else
{
Makale makale = new Makale();
if (model.Foto != null && model.Foto.ContentLength > 0)
{
string dosya = Guid.NewGuid().ToString();
string uzanti = Path.GetExtension(model.Foto.FileName).ToLower();
if (uzanti != ".jpg" && uzanti != ".jpeg" && uzanti != ".png")
{
ModelState.AddModelError("Foto", "Dosya Uzantısı JPG,JPEG veya PNG Olmalıdır!");
return View(model);
}
string dosyaAdi = dosya + uzanti;
model.Foto.SaveAs(Server.MapPath("~/Content/BlogFoto/" + dosyaAdi));
= uyeId;
db.Makale.Add(makale);
db.SaveChanges();
ViewBag.sonuc = "Makale Eklendi";
model = getModel();
return View(model);
}
else
{
ModelState.AddModelError("Foto", "Dosya Seçim Hatası!");
model = getModel();
return View(model);
}
}
}
public ActionResult MakaleDuzenle(int? id)
{
Makale makale = db.Makale.Where(m => m.MakaleId == id).SingleOrDefault();
if (makale == null)
{
return RedirectToAction("Makaleler");
}
makaleModel model = getModel();
model.MakaleId = makale.MakaleId;
model.Baslik = makale.Baslik;
model.Icerik = makale.Icerik;
model.KategoriId = makale.KategoriId;
return View(model);
}
[HttpPost]
public ActionResult MakaleDuzenle(makaleModel model)
{
Makale makale = db.Makale.Where(m => m.MakaleId == model.MakaleId).SingleOrDefault();
makale.Baslik = model.Baslik;
makale.KategoriId = model.KategoriId;
makale.Icerik = model.Icerik;
db.SaveChanges();
ViewBag.sonuc = "Makale Güncellendi";
model = getModel();
return View(model);
}
public ActionResult MakaleSil(int? id)
{
Makale makale = db.Makale.Where(m => m.MakaleId == id).SingleOrDefault();
if (makale != null)
{
if (System.IO.File.Exists(Server.MapPath("~/Content/BlogFoto/" + makale.Foto)))
{
System.IO.File.Delete(Server.MapPath("~/Content/BlogFoto/" + makale.Foto));
}
List<Yorum> yorumlar = db.Yorum.Where(m => m.MakaleId == id).ToList();
db.Yorum.RemoveRange(yorumlar);
db.Makale.Remove(makale);
db.SaveChanges();
return RedirectToAction("Makaleler/1");
}
return RedirectToAction("Makaleler");
}
private makaleModel getModel()
{
makaleModel model = new makaleModel();
model.KategoriList = (from kat in db.Kategori.ToList()
select new SelectListItem
{
Selected = false,
Text = kat.KategoriAdi,
Value = kat.KategoriId.ToString()
}).ToList();
model.KategoriList.Insert(0, new SelectListItem
{
Selected = true,
Value = "",
Text = "Seçiniz"
});
return model;
}
public ActionResult Uyeler(int? id)
{
if (id == 1)
{
ViewBag.hata = "Üyeye Ait Makale Olduğu İçin Üye Silinemez!";
}
if (id == 2)
{
ViewBag.sonuc = "Üye Silindi";
}
List<Uye> uyeler = db.Uye.ToList();
return View(uyeler);
}
public ActionResult UyeEkle()
{
return View();
}
[HttpPost]
public ActionResult UyeEkle(uyeModel model)
{
if (db.Uye.Where(m => m.KullaniciAdi == model.KullaniciAdi).Count() > 0)
{
ViewBag.hata = "Girilen Kullanıcı Adı Kayıtlıdır!";
return View();
}
Uye yeni = new Uye();
if (model.Foto != null && model.Foto.ContentLength > 0)
{
string dosya = Guid.NewGuid().ToString();
string uzanti = Path.GetExtension(model.Foto.FileName).ToLower();
if (uzanti != ".jpg" && uzanti != ".jpeg" && uzanti != ".png")
{
ModelState.AddModelError("Foto", "Dosya Uzantısı JPG,JPEG veya PNG Olmalıdır!");
return View(model);
}
string dosyaAdi = dosya + uzanti;
model.Foto.SaveAs(Server.MapPath("~/Content/UyeFoto/" + dosyaAdi));
yeni.Foto = dosyaAdi;
}
yeni.KullaniciAdi = model.KullaniciAdi;
yeni.Sifre = model.Sifre;
yeni.AdSoyad = model.AdSoyad;
yeni.Email = model.Email;
yeni.UyeAdmin = model.UyeAdmin;
db.Uye.Add(yeni);
db.SaveChanges();
ViewBag.sonuc = "Üye Eklendi";
return View();
}
public ActionResult UyeDuzenle(int? id)
{
Uye uye = db.Uye.Where(m => m.UyeId == id).SingleOrDefault();
if (uye == null)
{
return RedirectToAction("Uyeler");
}
uyeModel model = new uyeModel();
model.UyeId = uye.UyeId;
model.KullaniciAdi = uye.KullaniciAdi;
model.Sifre = uye.Sifre;
model.AdSoyad = uye.AdSoyad;
model.Email = uye.Email;
model.UyeAdmin = uye.UyeAdmin;
return View(model);
}
[HttpPost]
public ActionResult UyeDuzenle(uyeModel model)
{
Uye uye = db.Uye.Where(m => m.UyeId == model.UyeId).SingleOrDefault();
uye.KullaniciAdi = model.KullaniciAdi;
uye.Sifre = model.Sifre;
uye.AdSoyad = model.AdSoyad;
uye.Email = model.Email;
uye.UyeAdmin = model.UyeAdmin;
db.SaveChanges();
ViewBag.sonuc = "Üye Güncellendi";
return View();
}
public ActionResult UyeSil(int? id)
{
if (db.Makale.Where(m => m.UyeId == id).Count() > 0)
{
return RedirectToAction("Uyeler/1");
}
Uye uye = db.Uye.Where(m => m.UyeId == id).SingleOrDefault();
if (uye != null)
{
if (System.IO.File.Exists(Server.MapPath("~/Content/UyeFoto/" + uye.Foto)))
{
System.IO.File.Delete(Server.MapPath("~/Content/UyeFoto/" + uye.Foto));
}
List<Yorum> yorumlar = db.Yorum.Where(m => m.UyeId == id).ToList();
db.Yorum.RemoveRange(yorumlar);
db.Uye.Remove(uye);
db.SaveChanges();
return RedirectToAction("Uyeler/2");
}
return RedirectToAction("Uyeler");
}
}

 

Blog Yapımı Görsel Videolarını izleyebilirisiniz.

Proje Kodlarının Tamamını indirmek ve incelemek için

A.Koçer Hocama teşekkürler....


Paylaşmak güzeldir. Lütfen sizde paylaşın...



Herkesyazar Ara