示例#1
0
        private void EnviarArticulo()
        {
            Articulo newArticulo = new Articulo();
            if (this.EsEditar && this.idArticulo.HasValue)
            {
            newArticulo.ID = this.idArticulo.Value;
            newArticulo.FechaCreacion = DateTime.Parse(this.hdnFecha.Value);
            }
            newArticulo.Titulo = HttpUtility.HtmlDecode(this.txtTitulo.Text);
            newArticulo.Entradilla = HttpUtility.HtmlDecode(this.txtEntradilla.Text);
            newArticulo.Contenido = this.EditorHTML.Content;
            newArticulo.Autor = HttpUtility.HtmlDecode(this.txtAutor.Text);
            newArticulo.Secciones = this.wcArtLoc.Seleccionados;
            newArticulo.Icono = HttpUtility.HtmlDecode(this.txtIcono.Text);
            newArticulo.Portada = this.chkPortada.Checked;
            newArticulo.Destacado = this.chkDestacado.Checked;
            newArticulo.Borrador = this.chkBorrador.Checked;

            bool ok = false;
            if (!this.EsEditar)
            {
            newArticulo.Borrador = true;
            newArticulo.FechaCreacion = DateTime.Now;
            ok = ArticuloDAL.InsertArticulo(newArticulo);
            }
            else
            {
            ok = ArticuloDAL.UpdateArticulo(newArticulo);
            }
            string msg = ok ? "Art\x00edculo introducido correctamente en el sistema." : "Se ha producido un error.";
            this.MessageBox(msg);
        }
        protected override void Render(HtmlTextWriter writer)
        {
            if (this.CurrentArticulo == null) this.CurrentArticulo = new Articulo();

            writer.WriteLine("<div class='composer'>");
            writer.WriteLine("<form method='post' action='{0}'>", this.Page.Request.RawUrl);

            writer.WriteLine("<label for='post_autor'>Autor</label><br /><input type='text' name='post_autor' value='{0}' /><br />", this.CurrentArticulo.Autor);
            writer.WriteLine("<label for='post_autor_corto'>Autor corto</label><br /><input type='text' name='post_autor_corto' value='{0}' /><br />", this.CurrentArticulo.AutorCorto);
            writer.WriteLine("<label for='post_titulo_autor'>Título Autor</label><br /><input type='text' name='post_titulo_autor' value='{0}' /><br />", this.CurrentArticulo.TituloAutor);
            writer.WriteLine("<label for='post_titulo'>Título</label><br /><input type='text' name='post_titulo' value='{0}'/><br />", this.CurrentArticulo.Titulo);
            writer.WriteLine("<label for='post_titulo_corto'>Título corto</label><br /><input type='text' name='post_titulo_corto' value='{0}'/><br />", this.CurrentArticulo.TituloCorto);
            writer.WriteLine("<label for='post_entradilla'>Entradilla</label><br /><textarea cols='20' rows='4' name='post_entradilla'>{0}</textarea><br />", this.CurrentArticulo.Entradilla);

            //// editor ajax
            //base.Render(writer);
            writer.WriteLine("<label for='post_body'>Cuerpo del artículo</label><br />");
            writer.WriteLine("<textarea id='txt_iehe' name='post_body' cols='40' rows='10'>{0}</textarea><br />", this.CurrentArticulo.Contenido);

            // Imágenes // TODO

            // Icono

            RenderComboSeccion(writer);

            //string strChecked = this.CurrentArticulo.Borrador ? string.Empty : "checked='checked'";
            //writer.WriteLine("<input type='checkbox' name='post_borrador' />Publicado<br {0} />", strChecked);

            writer.WriteLine("<input type='submit' name='post_guardar' value='Guardar' />");

            writer.WriteLine("</form>");
            writer.WriteLine("</div>");
        }
示例#3
0
 protected override void OnPreRender(EventArgs e)
 {
     if (this.idArticulo != null)
     {
         this.articulo = ArticuloDAL.getArticuloById(this.idArticulo.Value);
     }
 }
示例#4
0
 private string PolaroidLI(Articulo articulo)
 {
     return hr.Wrap("li", hr.Concat
         (
             hr.Img(ArticuloRenderer.GetUrlThumbnail(articulo), string.Empty, string.Empty, string.Empty),
             hr.h1(hr.Link(ArticuloRenderer.Url(articulo, "/"), articulo.TituloCorto)),
             hr.h2(articulo.AutorCorto),
             hr.h3(string.Format("{0} lecturas", articulo.lecturas)),
             string.Format("<a class='gotourl' href='{0}'></a>", ArticuloRenderer.Url(articulo,"/"))
         ));
 }
 private void GetArticulo()
 {
     if (this.idArticulo.HasValue)
     {
         this.CurrentArticulo = ArticuloDAL.getArticuloById(this.idArticulo.Value);
         // add visit
         if (this.CurrentArticulo != null)
         {
             this.CurrentArticulo.lecturas = this.CurrentArticulo.lecturas.HasValue ? this.CurrentArticulo.lecturas + 1 : 1;
             ArticuloDAL.UpdateArticulo(this.CurrentArticulo);
         }
     }
 }
示例#6
0
        private string ArticuloToRSSItem(Articulo articulo)
        {
            string ret = string.Empty;

            if (articulo != null)
            {
                string cadSeccion = SeccionesManager.GetDescripcionById(articulo.Secciones);
                string url = string.Format("{0}{1}/{2}/{3}", "/", articulo.ID, RouteManager.GetRouteText(cadSeccion), RouteManager.GetRouteText(articulo.Titulo));
                string titulo = ToSpanish(articulo.Titulo);
                string autor = ToSpanish(articulo.Autor);

                ret = string.Format("<item><title>{0}</title><link>{2}</link><description><![CDATA[<p>Autor: {1}</p><p><a href='{2}'>Leer artículo</a></p>]]></description></item>", titulo, autor, url);
            }

            return ret;
        }
示例#7
0
 private void RenderArticuloRow(HtmlTextWriter writer, Articulo articulo)
 {
     writer.WriteLine("<tr>");
     writer.WriteLine("<td>{0}</td>", articulo.ID);
     writer.WriteLine("<td>{0}</td>", articulo.Titulo);
     //writer.WriteLine("<td>{0}</td>", articulo.Autor);
     writer.WriteLine("<td>{0}</td>", articulo.FechaCreacion.ToString("dd/MM/yyyy"));
     writer.WriteLine("<td>{0}</td>", articulo.FechaPublicacion.HasValue ? articulo.FechaPublicacion.Value.ToString("dd/MM/yyyy") : string.Empty);
     writer.WriteLine("<td><a href='{0}'>Preview</a></td>", ArticuloRenderer.Url(articulo, "/"));
     writer.WriteLine("<td><a href='artgrid.aspx?cmd=del&ID={0}' onclick='return confirm(\"¿Desea eliminar el artículo?\");'>Eliminar</a></td>", articulo.ID);
     writer.WriteLine("<td><a href='compose.aspx?ID={0}'>Editar</a></td>", articulo.ID);
     writer.WriteLine("<td>Comentarios</td>");
     writer.WriteLine("<td><a class={0} href='artgrid.aspx?cmd={0}&ID={1}'>{2}</a></td>", articulo.Destacado ? "nodes" : "des", articulo.ID, articulo.Destacado ? "No destacar" : "destacar");
     writer.WriteLine("<td><a class={0} href='artgrid.aspx?cmd={0}&ID={1}'>{2}</a></td>",  articulo.Borrador ? "pub" : "depub", articulo.ID, articulo.Borrador ? "publicar" : "despublicar");
     writer.WriteLine("</tr>");
 }
示例#8
0
        public static List<Articulo> GetArticulosByIdSeccionPortadaMOCK()
        {
            List<Articulo> ret = new List<Articulo>();

            Articulo newArticulo1 = new Articulo();
            newArticulo1.Titulo = "Titulo 1";
            newArticulo1.Autor = "Autor1";
            newArticulo1.Entradilla = "Entradilla 1";
            ret.Add(newArticulo1);

            Articulo newArticulo2 = new Articulo();
            newArticulo2.Titulo = "Titulo 2";
            newArticulo2.Autor = "Autor2";
            newArticulo2.Entradilla = "Entradilla 2";
            ret.Add(newArticulo2);

            return ret;
        }
        private void RenderArticuloRow(System.Web.UI.HtmlTextWriter writer, Articulo articulo, string cssClass)
        {
            writer.WriteLine("<div class='container_12 {0}'>", cssClass);
            //writer.WriteLine("<div class='grid_12'>", cssClass);

            writer.WriteLine("<div class='grid_1'>{0}</div>", articulo.ID);
            writer.WriteLine("<div class='grid_5'>{0}</div>", articulo.Titulo);
            writer.WriteLine("<div class='grid_2'>{0}</div>", articulo.FechaCreacion.ToString("dd/MM/yyyy"));

            writer.WriteLine("<div class='grid_1'><a href='/Articulos.aspx?ID={0}'>Preview</a></div>", articulo.ID);
            writer.WriteLine("<div class='grid_1'><a href='?ID={0}&CMD=DELETE' onclick='return confirm(\"¿ESTÁS TOTALMENTE SEGURO DE ELIMINAR EL ARTÍCULO?\")'>Delete</a></div>", articulo.ID);
            writer.WriteLine("<div class='grid_1'><a href='compose.aspx?ID={0}&CMD=EDIT'>Edit</a></div>", articulo.ID);
            writer.WriteLine("<div class='grid_1'><a href='comment.aspx?ID={0}'>Comment</a></div>", articulo.ID);

            //writer.WriteLine("</div>");
            writer.WriteLine("<div class='clear'></div>");
            writer.WriteLine("</div>");
        }
        public static void Preview(HtmlTextWriter writer, Articulo articulo, string path, bool VerAutor, bool VerSeccion, bool VerEntradilla, bool VerLineaDebajo)
        {
            writer.WriteLine("<div class='thumbmini'>");
            writer.WriteLine(hr.Img(ArticuloRenderer.GetUrlThumbnail(articulo), string.Empty, string.Empty, string.Empty));
            writer.WriteLine("</div>");

            writer.WriteLine("<div class='info'>");
            writer.WriteLine("<div class='titulo'><a href='{0}'>{1}</a></div>", Url(articulo, path), articulo.Titulo);

            if (VerAutor)      writer.WriteLine("<div class='autor'>{0}</div>", articulo.Autor);
            if (VerSeccion) writer.WriteLine("<div class='seccion'>{0}</div>", Seccion(articulo));
            if (VerEntradilla) writer.WriteLine("<p>{0}</p>", articulo.Entradilla);
            writer.WriteLine("</div>");
            writer.WriteLine("<div style='clear:both'></div>");

            if (VerLineaDebajo)
            {
                writer.WriteLine("<hr style='border-top:1px dotted Gray;' />");
            }
        }
        private void ExecutePostCommands()
        {
            bool nuevo = (CurrentArticulo == null);

            if (this.Page.Request.Form["post_guardar"] != null)
            {
                if (nuevo) this.CurrentArticulo = new Articulo();

                CurrentArticulo.Autor = this.Page.Request.Form["post_autor"];
                CurrentArticulo.TituloAutor = this.Page.Request.Form["post_titulo_autor"];
                CurrentArticulo.Titulo = this.Page.Request.Form["post_titulo"];
                CurrentArticulo.Entradilla = this.Page.Request.Form["post_entradilla"];
                //CurrentArticulo.Contenido = this.editorHTML.Content;
                CurrentArticulo.Contenido = this.Page.Request.Form["post_body"];
                CurrentArticulo.Secciones = this.Page.Request.Form["post_seccion"];
                CurrentArticulo.Icono = string.Empty;

                if (nuevo)
                {
                    CurrentArticulo.FechaCreacion = DateTime.UtcNow;
                }

                CurrentArticulo.Borrador = (this.Page.Request.Form["post_borrador"] == null);

                if (nuevo)
                {
                    ArticuloDAL.InsertArticulo(this.CurrentArticulo);
                    this.Page.Response.Redirect(this.Page.ResolveUrl(BackUrl));
                }
                else
                {
                    ArticuloDAL.UpdateArticulo(CurrentArticulo);
                    this.Page.Response.Redirect(this.Page.ResolveUrl(BackUrl));
                }
            }
        }
示例#12
0
 public static bool UpdateArticulo(Articulo data)
 {
     using (InventioEntities context = new InventioEntities())
     {
         //data.EntityKey = new EntityKey("InventioEntities.Articulo", "ID", data.ID);
         context.Attach(data);
         context.ObjectStateManager.GetObjectStateEntry(data).SetModified();
         context.Refresh(RefreshMode.ClientWins, data);
         context.SaveChanges();
     }
     return true;
 }
示例#13
0
 public static bool InsertArticulo(Articulo data)
 {
     using (InventioEntities context = new InventioEntities())
     {
         context.AddToArticulo(data);
         context.SaveChanges();
     }
     return true;
 }
示例#14
0
 public static Articulo GetLastArticuloNoBorrador()
 {
     Articulo ret = new Articulo();
     using (InventioEntities context = new InventioEntities())
     {
         return (from datos in context.Articulo
                 where !datos.Borrador
                 orderby datos.FechaPublicacion descending
                 select datos).Take<Articulo>(1).First<Articulo>();
     }
 }
 public static string Url(Articulo articulo, string path)
 {
     return string.Format("{0}{1}/{2}/{3}", path, articulo.ID, RouteManager.GetRouteText(Seccion(articulo)), RouteManager.GetRouteText(articulo.Titulo));
 }
 /// <summary>
 /// Deprecated Method for adding a new object to the Articulo EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToArticulo(Articulo articulo)
 {
     base.AddObject("Articulo", articulo);
 }
 /// <summary>
 /// Create a new Articulo object.
 /// </summary>
 /// <param name="autor">Initial value of the Autor property.</param>
 /// <param name="borrador">Initial value of the Borrador property.</param>
 /// <param name="destacado">Initial value of the Destacado property.</param>
 /// <param name="entradilla">Initial value of the Entradilla property.</param>
 /// <param name="fechaCreacion">Initial value of the FechaCreacion property.</param>
 /// <param name="icono">Initial value of the Icono property.</param>
 /// <param name="id">Initial value of the ID property.</param>
 /// <param name="titulo">Initial value of the Titulo property.</param>
 /// <param name="portada">Initial value of the Portada property.</param>
 public static Articulo CreateArticulo(global::System.String autor, global::System.Boolean borrador, global::System.Boolean destacado, global::System.String entradilla, global::System.DateTime fechaCreacion, global::System.String icono, global::System.Int32 id, global::System.String titulo, global::System.Boolean portada)
 {
     Articulo articulo = new Articulo();
     articulo.Autor = autor;
     articulo.Borrador = borrador;
     articulo.Destacado = destacado;
     articulo.Entradilla = entradilla;
     articulo.FechaCreacion = fechaCreacion;
     articulo.Icono = icono;
     articulo.ID = id;
     articulo.Titulo = titulo;
     articulo.Portada = portada;
     return articulo;
 }
示例#18
0
        private void RenderCommandArticulo(HtmlTextWriter writer, Articulo articulo)
        {
            string title = ( articulo.Titulo.Length > 15 ? articulo.Titulo.Substring(0, 15) : articulo.Titulo ) + "...";

            writer.WriteLine("<div>");
            writer.WriteLine("<a href='?delete={0}'><img src='{1}'/>Quitar artículo {2}</a>",
                articulo.ID,
                this.Page.ClientScript.GetWebResourceUrl(typeof(SeccionControl), "Inventio.Engine.Resources.img.delart.png"),
                title);
            writer.WriteLine("</div>");
        }
示例#19
0
        private void RenderArticuloPreview(HtmlTextWriter writer, Articulo articulo, bool last)
        {
            writer.WriteLine("<div style='padding:5px'>");

            string path = string.Empty;
            if (this.widgetContext.Data != null)
            {
                path = (string.IsNullOrEmpty(this.widgetContext.Data.Path)) ? string.Empty : this.widgetContext.Data.Path;
            }

            string cadSeccion = SeccionesManager.GetDescripcionById(articulo.Secciones);

            //string url = string.Format("{0}articulos.aspx?ID={1}&title={2}", path, articulo.ID, RouteManager.GetRouteText(articulo.Titulo));
            string url = string.Format("{0}{1}/{2}/{3}", path, articulo.ID, RouteManager.GetRouteText(cadSeccion), RouteManager.GetRouteText(articulo.Titulo));
            writer.WriteLine("<h2><a href='{0}'>{1}</a></h2>", url, articulo.Titulo);

            writer.WriteLine("<div class='autor'>AUTOR: {0}</div>", articulo.Autor);
            writer.WriteLine("<div class='autor'>SECCION: {0}</div>", cadSeccion);

            writer.WriteLine("<p>{0}</p>", articulo.Entradilla);

            writer.WriteLine("</div>");

            if (!last)
            {
                writer.WriteLine("<hr style='border-top:1px dotted Gray;' />");
            }
        }
 protected override void OnPreRender(EventArgs e)
 {
     articulo = ArticuloDAL.GetLastArticuloNoBorrador();
 }
示例#21
0
 protected override void OnPreRender(EventArgs e)
 {
     //base.OnPreRender(e);
     this.articulo = ArticuloDAL.getArticuloById(Convert.ToInt32(this.IDArticulo));
 }
 public static string Seccion(Articulo articulo)
 {
     return SeccionesManager.GetDescripcionById(articulo.Secciones);
 }
        private void GetData()
        {
            //secciones = SeccionesDal.GetAllSecciones();
            secciones = SeccionesManager.GetSecciones();

            if (this.idArticulo.HasValue)
            {
                CurrentArticulo = ArticuloDAL.getArticuloById(this.idArticulo.Value);
            }
        }
示例#24
0
        private void RenderArticuloPreview(HtmlTextWriter writer, Articulo articulo)
        {
            writer.WriteLine("<hr style='border:1px dotted Gray;' />");

            string path = (string.IsNullOrEmpty(this.Path)) ? "" : this.Path;
            string url = string.Format("{0}articulos.aspx?ID={1}", path, articulo.ID);
            writer.WriteLine("<h2><a href='{0}'>{1}</a></h2>", url, articulo.Titulo);

            writer.WriteLine("<p style='color:Gray'>Autor: <span style='text-transform:uppercase'>{0}</span></p>", articulo.Autor);

            writer.WriteLine("<p>{0}</p>", articulo.Entradilla);
        }
 public static string GetUrlThumbnail(Articulo articulo)
 {
     return string.Format("/img/{0:000}/{1:00000}_roller.jpg", articulo.Numero, articulo.ID);
 }