Exemplo n.º 1
0
        protected void ProtectToggle(object sender, EventArgs e)
        {
            using (var eds = new Data.WikipediaEntities())
            {
                string stringid = Request.QueryString["id"];
                int id;

                if (int.TryParse(stringid, out id))
                {
                    var article = eds.Articles.Where(art => art.Id == id).First();

                    if (article.UserName == User.Identity.Name || User.IsInRole("Editor"))
                    {
                        if (article.IsProtected)
                        {
                            article.IsProtected = false;
                            ProtectLink.Text = "Protect";
                        }
                        else
                        {
                            article.IsProtected = true;
                            ProtectLink.Text = "UnProtect";
                        }
                    }

                    eds.SaveChanges();
                }
            }
        }
Exemplo n.º 2
0
        protected void SubmitClick(object sender, EventArgs e)
        {
            using (var eds = new Data.WikipediaEntities())
            {
                string stringid = Request.QueryString["id"];
                int id;

                if (int.TryParse(stringid, out id))
                {
                    /* create article */
                    Data.Article art = new Data.Article();
                    art.DomainId = id;
                    art.CreateDate = DateTime.Now;
                    if (Request.IsAuthenticated)
                        art.UserName = User.Identity.Name;
                    eds.Articles.AddObject(art);
                    eds.SaveChanges();

                    /* create article version */
                    Data.Version ver = new Data.Version();
                    ver.ArticleId = art.Id;
                    ver.Name = ArticleName.Text;
                    ver.Content = ArticleContent.Text;
                    ver.CreateDate = DateTime.Now;

                    eds.Versions.AddObject(ver);
                    eds.SaveChanges();

                    /* redirect to new article */
                    Response.Redirect("~/Article.aspx?id=" + art.Id);
                }
            }
        }
Exemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            using (var eds = new Data.WikipediaEntities())
            {
                string stringid = Request.QueryString["id"];
                int id;

                if (int.TryParse(stringid, out id))
                {
                    var article = eds.Articles.Where(art => art.Id == id).First();

                    ArticleName.Text = article.Name;
                    ArticleContent.Text = Textile.TextileFormatter.FormatString(article.Content);

                    if (!article.IsProtected || Request.IsAuthenticated)
                    {
                        EditAction.Visible = true;
                        EditLink.HRef = "~/ArticleEdit.aspx?id=" + article.Id;
                    }
                    if (article.UserName == User.Identity.Name || User.IsInRole("Editor"))
                    {
                        ProtectAction.Visible = true;
                        if (article.IsProtected) { ProtectLink.Text = "UnProtect"; }
                    }
                    if (User.IsInRole("Editor"))
                    {
                        VersionAction.Visible = true;
                        VersionsLinks.HRef = "~/ArticleVersions.aspx?id=" + article.Id;
                    }
                }
                else
                { Response.Redirect("~"); }
            }
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                using (var eds = new Data.WikipediaEntities())
                {
                    string stringid = Request.QueryString["id"];
                    int id;

                    if (int.TryParse(stringid, out id))
                    {
                        var article = eds.Articles.Where(art => art.Id == id).First();
                        ViewState["article"] = article;

                        if (article.IsProtected && !Request.IsAuthenticated)
                        { Response.Redirect("~/Article.aspx?id=" + article.Id); }

                        ArticleName.Text = article.Name;
                        ArticleContent.Text = article.Content;
                    }
                    else
                    { Response.Redirect("~"); }
                }
            }
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                using (var eds = new Data.WikipediaEntities())
                {
                    string stringid = Request.QueryString["id"];
                    int id;

                    if (int.TryParse(stringid, out id))
                    {
                        NewAction.Visible = true;
                        NewLink.HRef = "ArticleNew.aspx?id=" + id;

                        var domain = eds.Domains.Where(dom => dom.Id == id).FirstOrDefault();
                        if (domain != null)
                        {
                            Page.Title = "Wikipedia:" + domain.Name;
                            DomainName.InnerText = domain.Name;
                            DomainName.Visible = true;
                        }

                        var articles = eds.Articles.Where(art => art.DomainId == id);

                        DataTable table = new DataTable();
                        table.Columns.Add("Id");
                        table.Columns.Add("Name");
                        table.Columns.Add("UserName");
                        table.Columns.Add("IsProtected");
                        table.Columns.Add("CreateDate");

                        table.Columns["Id"].DataType = System.Type.GetType("System.Int32");
                        table.Columns["Name"].DataType = System.Type.GetType("System.String");
                        table.Columns["UserName"].DataType = System.Type.GetType("System.String");
                        table.Columns["IsProtected"].DataType = System.Type.GetType("System.Boolean");
                        table.Columns["CreateDate"].DataType = System.Type.GetType("System.DateTime");

                        foreach (var art in articles)
                        {
                            DataRow row = table.NewRow();
                            row["Id"] = art.Id;
                            row["Name"] = art.Name;
                            row["UserName"] = art.UserName;
                            row["IsProtected"] = art.IsProtected;
                            row["CreateDate"] = art.CreateDate;

                            table.Rows.Add(row);
                        }

                        ViewState["articles"] = table;
                        DataView view = new DataView(table);
                        view.Sort = "Name ASC";

                        ArticlesGridView.DataSource = view;
                        ArticlesGridView.DataBind();
                    }
                }
            }
        }
Exemplo n.º 6
0
        public void VersionDeleted(object sender, EntityDataSourceChangedEventArgs e)
        {
            using (var eds = new Data.WikipediaEntities())
            {
                Data.Version ver = e.Entity as Data.Version;
                var art = eds.Articles.Where(article => article.Id == ver.ArticleId).First();

                if (art.Versions.Count == 0)
                {
                    eds.Articles.DeleteObject(art);
                    eds.SaveChanges();
                }
            }
        }
Exemplo n.º 7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                using (var eds = new Data.WikipediaEntities())
                {
                    var articles = eds.Articles;

                    DataTable table = new DataTable();
                    table.Columns.Add("Id");
                    table.Columns.Add("Name");
                    table.Columns.Add("UserName");
                    table.Columns.Add("Domain");
                    table.Columns.Add("IsProtected");
                    table.Columns.Add("CreateDate");

                    table.Columns["Id"].DataType = System.Type.GetType("System.Int32");
                    table.Columns["Name"].DataType = System.Type.GetType("System.String");
                    table.Columns["UserName"].DataType = System.Type.GetType("System.String");
                    table.Columns["Domain"].DataType = System.Type.GetType("System.String");
                    table.Columns["IsProtected"].DataType = System.Type.GetType("System.Boolean");
                    table.Columns["CreateDate"].DataType = System.Type.GetType("System.DateTime");

                    foreach (var art in articles)
                    {
                        DataRow row = table.NewRow();
                        row["Id"] = art.Id;
                        row["Name"] = art.Name;
                        row["UserName"] = art.UserName;
                        row["Domain"] = art.Domain.Name;
                        row["IsProtected"] = art.IsProtected;
                        row["CreateDate"] = art.CreateDate;

                        table.Rows.Add(row);
                    }

                    ViewState["articles"] = table;
                }
            }

            string searchtext = Request.QueryString["q"];

            var view = new DataView (ViewState["articles"] as DataTable);
            view.RowFilter = String.Format("Name LIKE '%{0}%'", searchtext);
            view.Sort = "Name ASC";

            ArticlesGridView.DataSource = view;
            ArticlesGridView.DataBind();
        }
Exemplo n.º 8
0
        public void ProcessRequest(HttpContext context)
        {
            using (var eds = new Data.WikipediaEntities())
            {
                string stringid = context.Request.QueryString["id"];
                int id;

                if (int.TryParse(stringid, out id))
                {
                    var image = eds.Images.Where(img => img.Id == id).First();
                    context.Response.ContentType = image.ContentType;
                    context.Response.OutputStream.Write(image.Content, 0, image.ContentLength);
                }
            }
        }
Exemplo n.º 9
0
        protected void UploadClick(object sender, EventArgs e)
        {
            if (File.HasFile)
            {
                byte[] buffer = new byte[File.PostedFile.ContentLength];
                File.PostedFile.InputStream.Read(buffer, 0, File.PostedFile.ContentLength);

                using (var eds = new Data.WikipediaEntities())
                {
                    var img = new Data.Image();
                    img.Content = buffer;
                    img.ContentType = File.PostedFile.ContentType;
                    img.ContentLength = File.PostedFile.ContentLength;

                    eds.Images.AddObject(img);
                    eds.SaveChanges();

                    Response.Redirect("~/Image.ashx?id=" + img.Id);
                }
            }
        }
Exemplo n.º 10
0
        protected void SubmitClick(object sender, EventArgs e)
        {
            using (var eds = new Data.WikipediaEntities())
            {
                Data.Article art = ViewState["article"] as Data.Article;

                if ((ArticleName.Text != art.Name || ArticleContent.Text != art.Content) &&
                    (!art.IsProtected || Request.IsAuthenticated))
                {
                    Data.Version ver = new Data.Version();
                    ver.ArticleId = art.Id;
                    ver.Name = ArticleName.Text;
                    ver.Content = ArticleContent.Text;
                    ver.CreateDate = DateTime.Now;

                    eds.Versions.AddObject(ver);
                    eds.SaveChanges();
                }

                Response.Redirect("~/Article.aspx?id=" + art.Id);
            }
        }