예제 #1
0
    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);
    }
예제 #2
0
    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();
                }
            }
        }
    }