protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { int pdfId = Convert.ToInt32(e.Keys["Id"]); using (MyWebSiteDatabaseEntities myEntity = new MyWebSiteDatabaseEntities()) { var aramaSonucu = from pdf in myEntity.PdfFiles where pdf.Id == pdfId select pdf; if (aramaSonucu != null) { DropDownList başlıkDropDownList = (DropDownList)Panel1.FindControl("DropDownList1"); string başlıkİsmi = Convert.ToString(başlıkDropDownList.SelectedItem); string virtualFolder = "~/PdfFiles/" + başlıkİsmi + "/"; string physicalFolder = Server.MapPath(virtualFolder); PdfFile pdfFile = aramaSonucu.ToList().ElementAt(0); // "FileUrl"in başındaki "~/" siliniyor. string fileUrl = pdfFile.FileUrl.Substring(2); // Sitenin "root"u, "fileurl"a ekleniyor. // MapPath'e "~/" eklenmezse "currentServer" olarak "Management" klasörünü alıyor. string fullPath = Server.MapPath("~/" + fileUrl); // Pdf dosyası bulunursa siliniyor. if (File.Exists(fullPath)) { File.Delete(fullPath); } } } }
protected void Page_Load(object sender, EventArgs e) { // "VideoLinksMenu.aspx"in gönderdiği "Video" parametresi alınıyor. if (!string.IsNullOrEmpty(Request.QueryString["Video"])) { int requestedVideoId = Convert.ToInt32(Request.QueryString.Get("Video")); using (MyWebSiteDatabaseEntities myEntity = new MyWebSiteDatabaseEntities()) { var myVideo = from video in myEntity.VideoUrls where video.Id == requestedVideoId select video.VideoLink; // Aranan video veritabanında bulunmuşsa sayfa açılacak. if (myVideo != null) { /* Query'den 1 adet video dönecek. Fakat query sonucu, birden çok veri * olarak algılanıyor. Bunu "ToList()" ile listeye çevirip ilk elemanını * alınca istenen videoya ulaşılmış oluyor. */ videoUrl = myVideo.ToList().ElementAt(0); } // Aranan video veritabanında bulunamazsa AnaSayfa'ya dönülecek. else { Response.Redirect("Default.aspx"); } } } else { Response.Redirect("Default.aspx"); } }
protected void Page_Load(object sender, EventArgs e) { using (MyWebSiteDatabaseEntities myEntity = new MyWebSiteDatabaseEntities()) { var pdfSonuçları = from pdf in myEntity.PdfFiles orderby pdf.Id descending select pdf; List <PdfFile> pdfListesi = new List <PdfFile>(); for (int i = 0; i < 5; i++) { pdfListesi.Add(pdfSonuçları.ToList().ElementAt(i)); } pdfRepeater.DataSource = pdfListesi; pdfRepeater.DataBind(); var videoSonuçları = from video in myEntity.VideoUrls orderby video.Id descending select video; List <VideoUrl> videoListesi = new List <VideoUrl>(); for (int i = 0; i < 5; i++) { videoListesi.Add(videoSonuçları.ToList().ElementAt(i)); } videoRepeater.DataSource = videoListesi; videoRepeater.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.QueryString["PDF"])) { int pdfId = Convert.ToInt32(Request.QueryString.Get("PDF")); using (MyWebSiteDatabaseEntities myEntity = new MyWebSiteDatabaseEntities()) { var aramaSonucu = from pdf in myEntity.PdfFiles where pdf.Id == pdfId select pdf; // Veritabanında, query ile gönderilen PDF Id'si bulunursa sayfa açılacak. if (aramaSonucu != null) { // Bulunan item, pdfFile'a dönüştürülüyor. PdfFile pdfFile = aramaSonucu.ToList().ElementAt(0); // "localHost" text'i alınıyor. string localHost = HttpContext.Current.Request.Url.Host; // "port" numarası alınıyor. string port = HttpContext.Current.Request.Url.Port.ToString(); // Url başındaki "~" işareti siliniyor. string fileUrl = pdfFile.FileUrl.Substring(1); pdfUrl = fileUrl; } // Aranan PDF Url veritabanında yoksa AnaSayfa'ya dönülecek. else { Response.Redirect("PdfFilesMenu.aspx"); } } } else { Response.Redirect("PdfFilesMenu.aspx"); } }
protected void Page_Load(object sender, EventArgs e) { string anaBaşlıkParametre = Request.QueryString.Get("AnaBaslik"); // Sayfaya "AnaBaslik" parametresi gönderildiyse; if (anaBaşlıkParametre != null) { int anaBaşlıkId = Convert.ToInt32(Request.QueryString.Get("AnaBaslik")); using (MyWebSiteDatabaseEntities myEntities = new MyWebSiteDatabaseEntities()) { /* Parametre olarak gelen "AnaBaslik"ın, veritabanında bulunup bulunmadığı * kontrol ediliyor. */ var anaBaşlık = from konu in myEntities.AnaBasliklars select konu.Id; if (anaBaşlık.Contains(anaBaşlıkId)) { var videolar = from konu in myEntities.VideoUrls where konu.AnaBaslikId == anaBaşlıkId orderby konu.VideoBasliği ascending select konu; List <VideoUrl> videoListesi = videolar.ToList(); if (videoVarMı(videoListesi) == false) { return; } else { if (Request.IsAuthenticated) // "Logged in" olunduysa { ListView1.DataSource = videoListesi; ListView1.DataBind(); } else // "Logged in" olunmadıysa { List <VideoUrl> örnekVideoLinkleri = new List <VideoUrl>(); // Tüm listedeki ilk 3 dosya bilgisi, örnek listeye atılıyor. // Böylece anonim kullanıcılara sadece ilk 3 dosya gösterilecek. // Tüm konuda 3'ten az dosya varsa, örnek olarak 1 dosya gösterilecek. int örnekVideoSayısı = 3; if (örnekVideoSayısı > videoListesi.Count) { örnekVideoSayısı = 1; } for (int i = 0; i < örnekVideoSayısı; i++) { örnekVideoLinkleri.Add(videoListesi.ElementAt(i)); } ListView1.DataSource = örnekVideoLinkleri; ListView1.DataBind(); } } } else { Response.Redirect("Default.aspx"); } } } else { Response.Redirect("Default.aspx"); } }
protected void SaveButton_Click(Object Src, EventArgs E) { // Linkte "Video" id numarası gönderildiyse if (!string.IsNullOrEmpty(Request.QueryString["Video"])) { int videoId = Convert.ToInt32(Request.QueryString.Get("Video")); string userName = Membership.GetUser().ToString(); VideoYorumlari yeniYorum = new VideoYorumlari(); yeniYorum.VideoId = videoId; yeniYorum.UserName = userName; yeniYorum.Tarih = DateTime.Now.ToString(); TextBox yorumTextBox = (TextBox)LoginView1.FindControl("yorumTextBox"); // "TrimStart" ile text'in başında boş kısım varsa kesiliyor. if (!string.IsNullOrEmpty(yorumTextBox.Text.TrimStart())) { yeniYorum.Yorum = yorumTextBox.Text; using (var myEntity = new MyWebSiteDatabaseEntities()) { myEntity.VideoYorumlaris.Add(yeniYorum); myEntity.SaveChanges(); } // Yorum gönderildikten sonra textbox'ın içi siliniyor. yorumTextBox.Text = ""; // Yeni liste, repeater'a bağlanıyor. Yeni yorum en başa ekleniyor. Repeater repeater = (Repeater)UpdatePanel1.FindControl("Repeater1"); videoYorumList.Insert(0, yeniYorum); repeater.DataSource = videoYorumList; repeater.DataBind(); repeater.Visible = true; uyarıLabel.Visible = false; } } // Linkte "PDF" url'si gönderildiyse else if (!string.IsNullOrEmpty(Request.QueryString["PDF"])) { int requestedPdfId = Convert.ToInt32(Request.QueryString.Get("PDF")); string userName = Membership.GetUser().ToString(); PdfYorumları yeniYorum = new PdfYorumları(); yeniYorum.PdfId = requestedPdfId; yeniYorum.UserName = userName; yeniYorum.Tarih = DateTime.Now.ToString(); TextBox yorumTextBox = (TextBox)LoginView1.FindControl("yorumTextBox"); // "TrimStart" ile text'in başında boş kısım varsa kesiliyor. if (!string.IsNullOrEmpty(yorumTextBox.Text.TrimStart())) { yeniYorum.Yorum = yorumTextBox.Text; using (var myEntity = new MyWebSiteDatabaseEntities()) { myEntity.PdfYorumları.Add(yeniYorum); myEntity.SaveChanges(); } } // Yorum gönderildikten sonra textbox'ın içi siliniyor. yorumTextBox.Text = ""; // Yeni liste, repeater'a bağlanıyor. Yeni yorum en başa ekleniyor. Repeater repeater = (Repeater)UpdatePanel1.FindControl("Repeater1"); pdfYorumList.Insert(0, yeniYorum); repeater.DataSource = pdfYorumList; repeater.DataBind(); repeater.Visible = true; uyarıLabel.Visible = false; } // "deleteButton"ların "visible" özellikleri ayarlanıyor. commentDeleteButtonVisible(Repeater1); }
protected void Page_Load(object sender, EventArgs e) { videoYorumList = new List <VideoYorumlari>(); pdfYorumList = new List <PdfYorumları>(); // "VideoViewPage" sayfası açılırsa, yani parametre olarak "Video" gelmişse; if (!string.IsNullOrEmpty(Request.QueryString["Video"])) { // "VideoLinksMenu.aspx"in gönderdiği "Video" parametresi alınıyor. string parametre = Request.QueryString.Get("Video"); int requestedVideoId = Convert.ToInt32(parametre); using (MyWebSiteDatabaseEntities myEntity = new MyWebSiteDatabaseEntities()) { // sayfaya kullanıcı yorumları ekleniyor. var yorumlar = from yorum in myEntity.VideoYorumlaris where yorum.VideoId == requestedVideoId orderby yorum.Tarih descending select yorum; videoYorumList = yorumlar.ToList(); if (videoYorumList.Count > 0) { Repeater1.DataSource = yorumlar.ToList(); Repeater1.DataBind(); commentDeleteButtonVisible(Repeater1); uyarıLabel.Visible = false; } else { // Yorum bulunamazsa "Repeater1" görünmez yapılıp uyarıLabel gösteriliyor. Repeater1.Visible = false; uyarıLabel.Visible = true; } } } // "PdfViewPage" sayfası açılırsa, yani parametre olarak "PDF" gelmişse; else if (!string.IsNullOrEmpty(Request.QueryString["PDF"])) { int pdfId = Convert.ToInt32(Request.QueryString.Get("PDF")); using (MyWebSiteDatabaseEntities myEntity = new MyWebSiteDatabaseEntities()) { // sayfaya kullanıcı yorumları ekleniyor. var yorumlar = from yorum in myEntity.PdfYorumları where yorum.PdfId == pdfId orderby yorum.Tarih descending select yorum; pdfYorumList = yorumlar.ToList(); if (pdfYorumList.Count > 0) { Repeater1.DataSource = yorumlar.ToList(); Repeater1.DataBind(); commentDeleteButtonVisible(Repeater1); Repeater1.Visible = true; uyarıLabel.Visible = false; } else { // Yorum bulunamazsa "Repeater1" görünmez yapılıp uyarıLabel gösteriliyor. Repeater1.Visible = false; uyarıLabel.Visible = true; } } } }
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Delete") { int yorumId = Convert.ToInt32(e.CommandArgument); using (MyWebSiteDatabaseEntities myEntity = new MyWebSiteDatabaseEntities()) { // Repeater'daki item'lar "VideoYorumlari" ise; if (videoYorumList.Count > 0) { for (int i = 0; i < videoYorumList.Count; i++) { // Item listeden silinip, liste repeater'a bağlanıyor dataSource olarak if (videoYorumList[i].Id == yorumId) { videoYorumList.RemoveAt(i); Repeater1.DataSource = videoYorumList; Repeater1.DataBind(); } } // Yeniden "deleteButton"un "Visible" özelliği ayarlanıyor. commentDeleteButtonVisible(Repeater1); // Item, database'ten siliniyor var aramaSonucu = from yorum in myEntity.VideoYorumlaris where yorum.Id == yorumId select yorum; VideoYorumlari arananYorum = aramaSonucu.ToList().ElementAt(0); myEntity.VideoYorumlaris.Remove(arananYorum); myEntity.SaveChanges(); } // Repeater'daki item'lar "PdfYorumları" ise; if (pdfYorumList.Count > 0) { for (int i = 0; i < pdfYorumList.Count; i++) { // Item listeden silinip, liste repeater'a bağlanıyor dataSource olarak if (pdfYorumList[i].Id == yorumId) { pdfYorumList.RemoveAt(i); Repeater1.DataSource = pdfYorumList; Repeater1.DataBind(); } } // Yeniden "deleteButton"un "Visible" özelliği ayarlanıyor. commentDeleteButtonVisible(Repeater1); // Item, database'ten siliniyor var aramaSonucu = from yorum in myEntity.PdfYorumları where yorum.Id == yorumId select yorum; PdfYorumları arananYorum = aramaSonucu.ToList().ElementAt(0); myEntity.PdfYorumları.Remove(arananYorum); myEntity.SaveChanges(); } } } }