Asp.Net MVC Blog Yapımı

Herkes  Yazar Herkes Yazar

02 Haziran 2018 Yazılım Dilleri (125) (1518)

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