public ActionResult IlanYonetimi() { List <KonutViewModel> ilanlar = new KonutRepo().GetAll().OrderByDescending(x => x.EklenmeTarihi).Select(x => new KonutViewModel() { Aciklama = x.Aciklama, YayindaMi = x.YayindaMi, Adres = x.Adres, Baslik = x.Baslik, BinaYasi = x.BinaYasi, Boylam = x.Boylam, EklenmeTarihi = x.EklenmeTarihi, Enlem = x.Enlem, Fiyat = x.Fiyat, FotografYollari = (x.Fotograflar.Count > 0 ? x.Fotograflar.Select(y => y.Yol).ToList() : new List <string>()), ID = x.ID, IlanTuruID = x.IlanTuruID, IsitmaTuruID = x.IsitmaSistemiID, KatTuruID = x.KatturID, KullaniciID = x.KullaniciID, Metrekare = x.Metrekare, OdaSayisi = x.OdaSayisi, OnaylanmaTarihi = x.OnaylanmaTarihi }).ToList(); return(View(ilanlar)); }
public ActionResult Index(int?sayfa) { var model = new KonutRepo().GetAllActive().Select(x => new IlanListeleViewModel() { Adres = x.Adres, Fiyat = x.Fiyat, IlanBaslik = x.Baslik, IlanFotoPath = x.Fotograflar.Count > 0 ? x.Fotograflar.FirstOrDefault().Yol : "img/nofoto.jpg", IlanDurum = x.IlanTuru.Ad, KonutId = x.ID, MetreKare = x.Metrekare, OdaSayisi = x.OdaSayisi }).ToList(); int toplamKayit = model.Count; int sayfaSayisi = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(toplamKayit) / sayfadaGosterilecekIlanSayisi)); ViewBag.MaxSayfaSayisi = sayfaSayisi; ViewBag.BulunduguSayfa = 1; if (sayfa == null) { return(View(model.Take(sayfadaGosterilecekIlanSayisi).ToList())); } else { if (sayfa.Value > sayfaSayisi) { ViewBag.BulunduguSayfa = sayfaSayisi; return(View(model.Skip((sayfaSayisi - 1) * sayfadaGosterilecekIlanSayisi).Take(sayfadaGosterilecekIlanSayisi).ToList())); } ViewBag.BulunduguSayfa = sayfa.Value; return(View(model.Skip((sayfa.Value - 1) * sayfadaGosterilecekIlanSayisi).Take(sayfadaGosterilecekIlanSayisi).ToList())); } }
public ActionResult IlanListele() { var userManager = MembershipTools.NewUserManager(); var user = userManager.FindById(HttpContext.User.Identity.GetUserId()); List <KonutViewModel> model = new KonutRepo().GetAll().Where(x => x.KullaniciID == user.Id).Select(x => new KonutViewModel() { Aciklama = x.Aciklama, YayindaMi = x.YayindaMi, Adres = x.Adres, Baslik = x.Baslik, BinaYasi = x.BinaYasi, Boylam = x.Boylam, EklenmeTarihi = x.EklenmeTarihi, Enlem = x.Enlem, Fiyat = x.Fiyat, FotografYollari = (x.Fotograflar.Count > 0 ? x.Fotograflar.Select(y => y.Yol).ToList() : new List <string>()), ID = x.ID, IlanTuruID = x.IlanTuruID, IsitmaTuruID = x.IsitmaSistemiID, KatTuruID = x.KatturID, KullaniciID = x.KullaniciID, Metrekare = x.Metrekare, OdaSayisi = x.OdaSayisi, OnaylanmaTarihi = x.OnaylanmaTarihi }).ToList(); return(View(model)); }
public ActionResult Detay(int?id, string baslik, string durum) { if (id == null) { return(RedirectToAction("index")); } Konut konut = new KonutRepo().GetByID(id.Value); if (konut == null || konut.YayindaMi == false) { return(RedirectToAction("index")); } KonutViewModel Konutmodel = new KonutViewModel() { ID = konut.ID, Aciklama = konut.Aciklama, Adres = konut.Adres, Baslik = konut.Baslik, BinaYasi = konut.BinaYasi, Boylam = konut.Boylam, EklenmeTarihi = konut.EklenmeTarihi, Enlem = konut.Enlem, Fiyat = konut.Fiyat, FotografYollari = konut.Fotograflar.Count > 0 ? konut.Fotograflar.Select(x => x.Yol).ToList() : new List <string>(), IlanTuruID = konut.IlanTuruID, IsitmaTuruID = konut.IsitmaSistemiID, KatTuruID = konut.KatturID, KullaniciID = konut.KullaniciID, Metrekare = konut.Metrekare, OdaSayisi = konut.OdaSayisi, OnaylanmaTarihi = konut.OnaylanmaTarihi, YayindaMi = konut.YayindaMi, Durum = konut.IlanTuru.Ad, Isitma = konut.IsitmaSistemi.Ad, Kat = konut.Katturu.Tur }; ProfileViewModel profilModel = new ProfileViewModel() { Username = konut.Sahibi.UserName, AvatarPath = konut.Sahibi.AvatarPath, Email = konut.Sahibi.Email, Name = konut.Sahibi.Name, Surname = konut.Sahibi.Surname }; DetayViewModel model = new DetayViewModel() { KonutModel = Konutmodel, ProfilModel = profilModel }; return(View(model)); }
public ActionResult Kullanici(string id) { if (string.IsNullOrEmpty(id)) { return(RedirectToAction("Index")); } ViewBag.kullaniciAdi = MembershipTools.NewUserManager().FindById(id).UserName; var model = new KonutRepo().GetAllActive().Where(x => x.KullaniciID == id).Select(x => new IlanListeleViewModel() { Adres = x.Adres, Fiyat = x.Fiyat, IlanBaslik = x.Baslik, IlanFotoPath = x.Fotograflar.Count > 0 ? x.Fotograflar.FirstOrDefault().Yol : "img/nofoto.jpg", IlanDurum = x.IlanTuru.Ad, KonutId = x.ID, MetreKare = x.Metrekare, OdaSayisi = x.OdaSayisi }).ToList(); return(View(model)); }
public ActionResult IlanDetay(int?id) { var ilanturleri = new List <SelectListItem>(); var katturleri = new List <SelectListItem>(); var isinmaturleri = new List <SelectListItem>(); new IlanTuruRepo().GetAll().OrderBy(x => x.Ad).ToList().ForEach(x => ilanturleri.Add(new SelectListItem() { Text = x.Ad, Value = x.ID.ToString() })); new KatTurRepo().GetAll().ForEach(x => katturleri.Add(new SelectListItem { Text = x.Tur, Value = x.ID.ToString() })); new IsitmaSistemiRepo().GetAll().ForEach(x => isinmaturleri.Add(new SelectListItem { Text = x.Ad, Value = x.ID.ToString() })); ViewBag.ilanturleri = ilanturleri; ViewBag.katturleri = katturleri; ViewBag.isinmaturleri = isinmaturleri; if (id == null) { return(RedirectToAction("IlanYonetimi")); } var ilan = new KonutRepo().GetByID(id.Value); if (ilan == null) { return(RedirectToAction("IlanYonetimi")); } var model = new KonutViewModel() { Aciklama = ilan.Aciklama, Baslik = ilan.Baslik, EklenmeTarihi = ilan.EklenmeTarihi, Adres = ilan.Adres, BinaYasi = ilan.BinaYasi, Boylam = ilan.Boylam, FotografYollari = ilan.Fotograflar.Select(f => f.Yol).ToList(), Enlem = ilan.Enlem, Fiyat = ilan.Fiyat, IlanTuruID = ilan.IlanTuruID, IsitmaTuruID = ilan.IsitmaSistemiID, ID = ilan.ID, KatTuruID = ilan.KatturID, KullaniciID = ilan.KullaniciID, Metrekare = ilan.Metrekare, OdaSayisi = ilan.OdaSayisi, OnaylanmaTarihi = ilan.OnaylanmaTarihi, YayindaMi = ilan.YayindaMi, Bilgilendirmeler = new BilgilendirmeRepo().GetAll().Where(x => x.KonutID == ilan.ID).Select(b => new BilgilendirmeViewModel() { ID = b.ID, Aciklama = b.Aciklama, AciklamaZamani = b.AciklamaZamani, KonutID = b.KonutID, OlumluMu = b.OlumluMu, YoneticiID = b.YoneticiID }).ToList() }; return(View(model)); }
public async Task <ActionResult> IlanDuzenle(KonutViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("IlanYonetimi")); } var konut = new KonutRepo().GetByID(model.ID); IlanBilgilendirme bilgilendirme = new IlanBilgilendirme() { Aciklama = model.BilgilendirmeAciklamasi, KonutID = model.ID, OlumluMu = model.OlumluMu, YoneticiID = HttpContext.User.Identity.GetUserId() }; bool aciklamaVarMi = false; if (!string.IsNullOrEmpty(model.BilgilendirmeAciklamasi)) { konut.Bilgilendirmeler.Add(bilgilendirme); aciklamaVarMi = true; } #region Kullanıcı Bilgilendirme string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); if (konut.YayindaMi == true && model.YayindaMi == false) { await SiteSettings.SendMail(new MailModel() { Message = $"Merhaba {konut.Sahibi.Name}<br/><strong>'{konut.ID}'</strong> nolu ilanınız yayından kaldırılmıştır<br/><p>Sebep: <em>{model.BilgilendirmeAciklamasi}</em></p><a href='{SiteUrl}/Ilan/IlanDetay/{konut.ID}'>İlanınız görmek ve düzenlemek için tıklayınız</a>", Subject = "İlanınız yayından kaldırıldı", To = konut.Sahibi.Email }); } else if (konut.YayindaMi == false && model.YayindaMi == true) { konut.OnaylanmaTarihi = DateTime.Now; await SiteSettings.SendMail(new MailModel() { Message = $"Merhaba {konut.Sahibi.Name}<br/><strong>'{konut.ID}'</strong> nolu ilanınız yayına başlamıştır<br/><p><em>{model.BilgilendirmeAciklamasi}</em></p><a href='{SiteUrl}/Ilan/Detay/{konut.ID}'>İlanınız görmek için tıklayınız</a>", Subject = "İlanınız Yayında!", To = konut.Sahibi.Email }); } else if (aciklamaVarMi) { await SiteSettings.SendMail(new MailModel() { Message = $"Merhaba {konut.Sahibi.Name}<br/><strong>'{konut.ID}'</strong> nolu ilanınız için bir bildirim var<br/><p>Bildirim: <em>{model.BilgilendirmeAciklamasi}</em></p><a href='{SiteUrl}/Ilan/IlanDetay/{konut.ID}'>İlanınız görmek ve düzenlemek için tıklayınız</a>", Subject = "İlanınız için yeni bir bildirim var", To = konut.Sahibi.Email }); } #endregion konut.Aciklama = model.Aciklama; konut.Adres = model.Adres; konut.Baslik = model.Baslik; konut.BinaYasi = model.BinaYasi; konut.Boylam = model.Boylam; konut.Enlem = model.Enlem; konut.Fiyat = model.Fiyat; konut.IlanTuruID = model.IlanTuruID; konut.IsitmaSistemiID = model.IsitmaTuruID; konut.KatturID = model.KatTuruID; konut.Metrekare = model.Metrekare; konut.OdaSayisi = model.OdaSayisi; konut.YayindaMi = model.YayindaMi; new KonutRepo().Update(); return(RedirectToAction("IlanDetay", new { id = konut.ID })); }
public async Task <ActionResult> IlanDuzenle(KonutViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("IlanDetay", new { id = model.ID })); } var konut = new KonutRepo().GetByID(model.ID); konut.YayindaMi = false; konut.Aciklama = model.Aciklama; konut.Adres = model.Adres; konut.Baslik = model.Baslik; konut.BinaYasi = model.BinaYasi; konut.Boylam = model.Boylam; konut.Enlem = model.Enlem; konut.Fiyat = model.Fiyat; konut.IlanTuruID = model.IlanTuruID; konut.IsitmaSistemiID = model.IsitmaTuruID; konut.KatturID = model.KatTuruID; konut.Metrekare = model.Metrekare; konut.OdaSayisi = model.OdaSayisi; new KonutRepo().Update(); #region Admin Bilgilendirme string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); var roleManager = MembershipTools.NewRoleManager(); var users = roleManager.FindByName("Admin").Users; var userManager = MembershipTools.NewUserManager(); List <string> mailler = new List <string>(); foreach (var item in users) { mailler.Add(userManager.FindById(item.UserId).Email); } foreach (var mail in mailler) { await SiteSettings.SendMail(new MailModel { Subject = "İlan Güncellendi", Message = $"Sayın Admin,<br/>Sitenizdeki bir ilan güncellendi, siz de bi zahmet onaylayın.<br/><a href='{SiteUrl}/Admin/IlanDetay/{model.ID}'>Haydi Onayla</a><p>İyi Çalışmalar<br/>Sitenin Nöbetçisi</p>", To = mail }); } #endregion if (model.Dosyalar.Count > 0) { model.Dosyalar.ForEach(file => { if (file != null && file.ContentLength > 0) { string fileName = Path.GetFileNameWithoutExtension(file.FileName); string extName = Path.GetExtension(file.FileName); fileName = fileName.Replace(" ", ""); fileName += Guid.NewGuid().ToString().Replace("-", ""); fileName = SiteSettings.UrlFormatConverter(fileName); var klasoryolu = Server.MapPath("~/Upload/" + model.ID); var dosyayolu = Server.MapPath("~/Upload/" + model.ID + "/") + fileName + extName; if (!Directory.Exists(klasoryolu)) { Directory.CreateDirectory(klasoryolu); } file.SaveAs(dosyayolu); WebImage img = new WebImage(dosyayolu); img.Resize(870, 480, false); img.AddTextWatermark("Wissen", "RoyalBlue", opacity: 75, fontSize: 25, fontFamily: "Verdana"); img.Save(dosyayolu); new FotografRepo().Insert(new Fotograf() { KonutID = model.ID, Yol = @"Upload/" + model.ID + "/" + fileName + extName }); } }); } return(RedirectToAction("IlanDetay", new { id = konut.ID })); }
public ActionResult IlanDetay(int?id) { if (id == null) { return(RedirectToAction("IlanListele")); } var userManager = MembershipTools.NewUserManager(); var user = userManager.FindById(HttpContext.User.Identity.GetUserId()); bool userMi = userManager.IsInRole(user.Id, "User"); bool adminMi = userManager.IsInRole(user.Id, "Admin"); if (!(userMi || adminMi)) { ModelState.AddModelError(string.Empty, "Sadece Aktif Kullanıcılar ilanlarını yönetebilirler"); return(RedirectToAction("Profile", "Account")); } var ilan = new KonutRepo().GetByID(id.Value); if (ilan.KullaniciID != user.Id) { ModelState.AddModelError(string.Empty, "Herkes kendi ilanını düzenleyebilir."); return(RedirectToAction("Profile", "Account")); } var ilanturleri = new List <SelectListItem>(); var katturleri = new List <SelectListItem>(); var isinmaturleri = new List <SelectListItem>(); new IlanTuruRepo().GetAll().OrderBy(x => x.Ad).ToList().ForEach(x => ilanturleri.Add(new SelectListItem() { Text = x.Ad, Value = x.ID.ToString() })); new KatTurRepo().GetAll().ForEach(x => katturleri.Add(new SelectListItem { Text = x.Tur, Value = x.ID.ToString() })); new IsitmaSistemiRepo().GetAll().ForEach(x => isinmaturleri.Add(new SelectListItem { Text = x.Ad, Value = x.ID.ToString() })); ViewBag.ilanturleri = ilanturleri; ViewBag.katturleri = katturleri; ViewBag.isinmaturleri = isinmaturleri; var model = new KonutViewModel() { Aciklama = ilan.Aciklama, Baslik = ilan.Baslik, EklenmeTarihi = ilan.EklenmeTarihi, Adres = ilan.Adres, BinaYasi = ilan.BinaYasi, Boylam = ilan.Boylam, FotografYollari = ilan.Fotograflar.Select(f => f.Yol).ToList(), Enlem = ilan.Enlem, Fiyat = ilan.Fiyat, IlanTuruID = ilan.IlanTuruID, IsitmaTuruID = ilan.IsitmaSistemiID, ID = ilan.ID, KatTuruID = ilan.KatturID, KullaniciID = ilan.KullaniciID, Metrekare = ilan.Metrekare, OdaSayisi = ilan.OdaSayisi, OnaylanmaTarihi = ilan.OnaylanmaTarihi, YayindaMi = ilan.YayindaMi, Bilgilendirmeler = new BilgilendirmeRepo().GetAll().Where(x => x.KonutID == ilan.ID).Select(b => new BilgilendirmeViewModel() { ID = b.ID, Aciklama = b.Aciklama, AciklamaZamani = b.AciklamaZamani, KonutID = b.KonutID, OlumluMu = b.OlumluMu, YoneticiID = b.YoneticiID }).ToList() }; return(View(model)); }