Beispiel #1
0
        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));
        }
Beispiel #2
0
        public ActionResult Ekle()
        {
            var userManager = MembershipTools.NewUserManager();
            var user        = userManager.FindById(HttpContext.User.Identity.GetUserId());

            if (userManager.IsInRole(user.Id, "Passive") || userManager.IsInRole(user.Id, "Banned"))
            {
                ModelState.AddModelError(string.Empty, "Profiliniz Yeni ilan açmak için uygun değildir.");
                return(RedirectToAction("Profile", "Account"));
            }
            var model         = new KonutViewModel();
            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;

            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 }));
        }
Beispiel #5
0
        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 }));
        }
Beispiel #6
0
        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));
        }
Beispiel #7
0
        public async Task <ActionResult> Ekle(KonutViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Errör");
                return(View());
            }
            Konut yeniKonut = new Konut()
            {
                Aciklama        = model.Aciklama,
                Adres           = model.Adres,
                Baslik          = model.Baslik,
                BinaYasi        = model.BinaYasi,
                Boylam          = model.Boylam,
                Enlem           = model.Enlem,
                Fiyat           = model.Fiyat,
                IlanTuruID      = model.IlanTuruID,
                IsitmaSistemiID = model.IsitmaTuruID,
                KatturID        = model.KatTuruID,
                KullaniciID     = HttpContext.User.Identity.GetUserId(),
                Metrekare       = model.Metrekare,
                OdaSayisi       = model.OdaSayisi
            };

            new KonutRepo().Insert(yeniKonut);
            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/" + yeniKonut.ID);
                        var dosyayolu   = Server.MapPath("~/Upload/" + yeniKonut.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", horizontalAlign: "Left");
                        img.Save(dosyayolu);
                        new FotografRepo().Insert(new Fotograf()
                        {
                            KonutID = yeniKonut.ID,
                            Yol     = @"Upload/" + yeniKonut.ID + "/" + fileName + extName
                        });
                    }
                });
            }
            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 = "Yeni İlan Eklendi",
                    Message = $"Sayın Admin,<br/>Sitenize bir ilan eklendi, siz de bi zahmet onaylayın.<br/><a href='{SiteUrl}/Admin/IlanDetay/{yeniKonut.ID}'>Haydi Onayla</a><p>İyi Çalışmalar<br/>Sitenin Nöbetçisi</p>",
                    To      = mail
                });
            }
            return(RedirectToAction("Index", "Home"));
        }
Beispiel #8
0
        public ActionResult IlanEkle(KonutViewModel ilan)
        {
            if (!ModelState.IsValid)
            {
                return(View(ilan));
            }

            Konut konut = new Konut
            {
                Aciklama      = ilan.Aciklama,
                Adres         = ilan.Adres,
                Baslik        = ilan.Baslik,
                BinaYasi      = ilan.BinaYasi,
                Boylam        = ilan.Boylam,
                Enlem         = ilan.Enlem,
                EklenmeTarihi = DateTime.Now,
                Fiyat         = ilan.Fiyat,
                IlanTuruID    = ilan.IlanTuruID,
                IsitmaTuruID  = ilan.IsitmaTuruID,
                KatTuruID     = ilan.KatTuruID,
                KullaniciID   = ilan.KullaniciID,
                Metrekare     = ilan.Metrekare,
                OdaSayisi     = ilan.OdaSayisi,
                YayindaMi     = false,
            };

            konutR.Insert(konut);

            if (Request.Files.Count > 0)
            {
                try
                {
                    for (int i = 0; i < Request.Files.Count; i++)
                    {
                        HttpPostedFileBase fu = Request.Files[i];

                        string dosyayolu = string.Empty;

                        string fileName      = Path.GetFileNameWithoutExtension(fu.FileName);
                        string extentionName = Path.GetExtension(fu.FileName);

                        if (fu != null && fu.ContentType.Contains("image") && fu.ContentLength < 1000000)
                        {
                            string folderName = Server.MapPath("~/images/ilanlar");
                            string pathString = System.IO.Path.Combine(folderName, konut.ID.ToString());
                            System.IO.Directory.CreateDirectory(pathString);

                            fileName  = fileName.Replace(" ", "");
                            fileName += Guid.NewGuid().ToString().Replace("-", "");

                            dosyayolu = Server.MapPath("~/images/ilanlar/" + konut.ID.ToString() + "/") + fileName + extentionName;

                            fu.SaveAs(dosyayolu);

                            WebImage img = new WebImage(dosyayolu);
                            img.Resize(150, 150);
                            img.Save(dosyayolu);

                            Fotograf fotograf = new Fotograf()
                            {
                                KonutID = konut.ID,
                                Yol     = konut.ID.ToString() + "/" + fileName + extentionName
                            };
                            forografR.Insert(fotograf);
                        }
                    }
                }
                catch (Exception ex)
                {
                    return(RedirectToAction("IlanEkle"));
                }
            }

            return(RedirectToAction("Ilanlarim"));
        }