Beispiel #1
0
        public ActionResult MakaleYaz(Makale makale, HttpPostedFileBase Resim, String etiketler)
        {
            if (makale != null)
            {
                // membership kullandım : veri tabanına asp.net membership ini ekledim
                // developer command prompt a aspnet_regsql yazdım ve adımları takip etttim
                // asp.net tarafında kaydolmamış birini kullanıcı olarak kaydedemek için : aspnet users tablsoun pk'ini kulllancici tablosunun pk'sine bağlıyorum
                // :\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config dosyasından membership, profie, rolmanager taglarini alıp projemin webconfig dosyasında system web içerisine yapıştırıyorum ve isteğime göre özellikleri değiştiriyorum.
                // provider ın başına <clear/> ekliyorum
                Kullanici aktif = Session["Kullanici"] as Kullanici;
                makale.YayinTarihi  = DateTime.Now;
                makale.MakaleTipID  = 1;
                makale.YazarID      = aktif.Id;
                makale.KapakResimID = ResimKaydet(Resim, HttpContext);

                db.Makale.Add(makale);
                db.SaveChanges();

                string[] etikets = etiketler.Split(',');
                foreach (string etiket in etikets)
                {
                    MakaleEtiket etk = db.MakaleEtiket.FirstOrDefault(x => x.Etiket.Adi.ToLower() == etiket.ToLower().Trim());
                    if (etk != null)
                    {
                        // Etiket var
                        makale.MakaleEtiket.Add(etk);
                        db.SaveChanges();
                    }
                    else
                    {
                        // Etiket yok
                        etk            = new MakaleEtiket();
                        etk.Etiket.Adi = etiket;
                        db.Etiket.Add(etk.Etiket);
                        db.SaveChanges();

                        makale.MakaleEtiket.Add(etk);
                        db.SaveChanges();
                    }
                }
            }
            return(View());
        }
Beispiel #2
0
        public ActionResult makaleEkle(Makale temp, HttpPostedFileBase foto, string Etiketler)
        {
            string resimAd = Guid.NewGuid().ToString();

            if (temp.Baslik == null || temp.Icerik == null)
            {
                Session["makaleSorun"] = "Lütfen makalenin adını veya içeriğini boş bırakmayınız.";

                return(RedirectToAction("makaleEkle"));
            }
            if (foto == null)
            {
                Session["makaleSorun"] = "Lütfen makaleye resim yükleyiniz.";

                return(RedirectToAction("makaleEkle"));
            }
            else
            {
                Image  rsm      = Image.FromStream(foto.InputStream);
                Bitmap btOrta   = new Bitmap(rsm, Tools.OrtaBoyutSize.Width, Tools.OrtaBoyutSize.Height);
                Bitmap btBuyuk  = new Bitmap(rsm, Tools.BuyukBoyutSize.Width, Tools.BuyukBoyutSize.Height);
                string ortaYol  = "/Uploads/MakaleResim/Orta/" + resimAd + Path.GetExtension(foto.FileName);
                string buyukYol = "/Uploads/MakaleResim/Buyuk/" + resimAd + Path.GetExtension(foto.FileName);
                btOrta.Save(Server.MapPath(ortaYol));
                btBuyuk.Save(Server.MapPath(buyukYol));

                Fotograf ft = new Fotograf();

                //MAAKE RESMI =3
                ft.ResimTurID = 3;
                ft.Orta       = ortaYol;
                ft.Buyuk      = buyukYol;
                ft.Aktif      = true;
                ft.Onay       = true;



                if (!fotograf.Insert(ft))
                {
                    Session["makaleSorun"] = "Resim yüklenemedi lütfen tekrar deneyiniz";

                    return(RedirectToAction("makaleEkle"));
                }


                int yuklenenResimID = fotograf.Select().FirstOrDefault(x => x.Orta.Contains(resimAd)).Id;
                temp.FotoID          = yuklenenResimID;
                temp.Aktif           = true;
                temp.Begenme         = 0;
                temp.Okunma          = 0;
                temp.OlusturmaTarihi = DateTime.Now;
                temp.UyeID           = Convert.ToInt32(Session["aktifUyeId"]);

                if (!makale.Insert(temp))
                {
                    Session["makaleSorun"] = "Makale yüklenemedi lütfen tekrar deneyiniz";

                    return(RedirectToAction("makaleEkle"));
                }
                int makaleID = makale.Select().FirstOrDefault(x => x.FotoID == yuklenenResimID).Id;

                if (!string.IsNullOrEmpty(Etiketler))
                {
                    string[] etikets = Etiketler.Split(',');
                    foreach (var etk in etikets)
                    {
                        Etiket et = new Etiket()
                        {
                            Adi = etk
                        };
                        et.Aktif = true;
                        etiket.Insert(et);



                        int etiketID = etiket.Select().FirstOrDefault(x => x.Adi == etk).Id;

                        MakaleEtiket me = new MakaleEtiket();
                        me.EtiketID = etiketID;
                        me.MakaleID = makaleID;
                        me.Aktif    = true;
                        makaleetiket.Insert(me);
                    }
                }
            }
            Session["makaleSorun"] = "Makale başarıyla eklendi..";

            return(RedirectToAction("makaleEkle"));
        }
Beispiel #3
0
        public ActionResult MakaleDuzenle(Makale mk, int?id, string etiketler, HttpPostedFileBase Foto)
        {
            if (ModelState.IsValid)
            {
                if (mk == null || mk.Icerik.Length < 100 || mk.Icerik.Length > 1000 || mk.Baslik.Length < 5 || mk.Baslik.Length > 500)
                {
                    TempData["fotoboyutbuyuk"] = "İçerik 100-1000,başlık 5-500 karakter arası olmalı...";
                    return(View());
                }
                else
                {
                    if (id == null)
                    {
                        return(RedirectToAction("Hata404", "Home"));
                    }

                    var makale = db.Makale.FirstOrDefault(x => x.MakaleID == id);
                    if (makale == null)
                    {
                        return(RedirectToAction("Hata404", "Home"));
                    }


                    if (Foto != null)
                    {
                        System.IO.File.Delete(Server.MapPath(makale.Foto));

                        WebImage img   = new WebImage(Foto.InputStream);
                        byte[]   boyut = img.GetBytes();
                        if (boyut.Length > 2097152)
                        {
                            TempData["fotoboyutbuyuk"] = "Yüklediğiniz fotoğraf boyutu 2MB'tan fazla olamaz.";
                            return(View());
                        }
                        FileInfo fotoinfo = new FileInfo(Foto.FileName);

                        string newfoto = Guid.NewGuid().ToString() + fotoinfo.Extension;

                        img.Resize(700, 350);
                        img.Save("~/Uploads/MakaleFoto/" + newfoto);
                        makale.Foto = "/Uploads/MakaleFoto/" + newfoto;
                    }
                    makale.Icerik     = mk.Icerik;
                    makale.Baslik     = mk.Baslik;
                    makale.KategoriID = mk.KategoriID;
                    makale.Tarih      = mk.Tarih;
                    db.SaveChanges();
                    if (etiketler != null)
                    {
                        var etikets = db.MakaleEtiket.Where(x => x.MakaleID == makale.MakaleID).ToList();
                        foreach (MakaleEtiket item in etikets)
                        {
                            db.MakaleEtiket.Remove(item);
                        }
                        string[] etiketdizi = etiketler.Split(',');
                        foreach (var i in etiketdizi)
                        {
                            var yenietiket = new Etiket {
                                EtiketAdi = i
                            };
                            db.Etiket.Add(yenietiket);
                            db.SaveChanges();
                            MakaleEtiket me = new MakaleEtiket();
                            me.MakaleID = makale.MakaleID;
                            me.EtiketID = yenietiket.EtiketID;
                            makale.MakaleEtiket.Add(me);
                        }
                    }

                    db.SaveChanges();
                    TempData["makaleduzenlemebasarili"] = "Makaleniz başarıyla düzenlendi.";
                }
            }
            return(RedirectToAction("Makaleler", "Admin"));
        }
Beispiel #4
0
        public ActionResult MakaleYeni(Makale mk, string etiketler, HttpPostedFileBase Fotograf)
        {
            if (ModelState.IsValid)
            {
                if (mk == null || mk.Icerik.Length < 100 || mk.Icerik.Length > 1000 || mk.Baslik.Length < 5 || mk.Baslik.Length > 500)
                {
                    return(RedirectToAction("Hata404", "Home"));
                }
                else
                {
                    if (Fotograf == null)
                    {
                        mk.Foto = "/Uploads/MakaleFoto/avatar.png";
                    }
                    else
                    {
                        WebImage img   = new WebImage(Fotograf.InputStream);
                        byte[]   boyut = img.GetBytes();
                        if (boyut.Length > 2097152)
                        {
                            TempData["fotoboyutbuyuk"] = "Yüklediğiniz fotoğraf boyutu 2MB'tan fazla olamaz.";
                            return(View());
                        }
                        //getbytes ile boyutu büyük dosyada hata verdir.
                        FileInfo fotoinfo = new FileInfo(Fotograf.FileName);

                        string newfoto = Guid.NewGuid().ToString() + fotoinfo.Extension;
                        //Resim boyutlandırma problemli.
                        img.Resize(700, 350);
                        img.Save("~/Uploads/MakaleFoto/" + newfoto);
                        mk.Foto = "/Uploads/MakaleFoto/" + newfoto;
                    }

                    //var captcha = Request.Form["g-recaptcha-response"];

                    //const string secret = "{SECRETKEY}";

                    //var restUrl = string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, captcha);

                    //WebRequest req = WebRequest.Create(restUrl);
                    //HttpWebResponse resp = req.GetResponse() as HttpWebResponse;

                    //JsonSerializer serializer = new JsonSerializer();

                    //CaptchaResult result = null;

                    //using (var reader = new StreamReader(resp.GetResponseStream()))
                    //{
                    //    string resultObject = reader.ReadToEnd();
                    //    result = JsonConvert.DeserializeObject<CaptchaResult>(resultObject);
                    //}
                    //if (!result.Success)
                    //{
                    //    TempData["captchahata"] = "Lütfen bir robot olmadığınızı doğrulayın.";
                    //}
                    //else
                    //{
                    mk.Okunma    = 0;
                    mk.UyeID     = Convert.ToInt32(Session["uyeid"]);
                    mk.Durum     = true;
                    mk.OnayDurum = true;
                    mk.Tarih     = DateTime.Now;
                    db.Makale.Add(mk);
                    db.SaveChanges();
                    if (etiketler != null)
                    {
                        string[] etiketdizi = etiketler.Split(',');
                        foreach (var i in etiketdizi)
                        {
                            var yenietiket = new Etiket {
                                EtiketAdi = i
                            };
                            db.Etiket.Add(yenietiket);
                            db.SaveChanges();
                            MakaleEtiket me = new MakaleEtiket();
                            me.MakaleID = mk.MakaleID;
                            me.EtiketID = yenietiket.EtiketID;
                            mk.MakaleEtiket.Add(me);
                        }
                    }

                    db.SaveChanges();
                    TempData["makaleeklemebasarili"] = "Makaleniz başarıyla oluşturuldu.";
                    return(RedirectToAction("Makaleler", "Admin"));
                    //}
                }
            }
            return(View(mk));
        }