摸板的读取,保存

using System;
using System.Data;
using System.Text;

namespace Demo.Business
{
 /// <summary>
 /// Article 的摘要说明。
 /// </summary>
 public class Article
 {
  private int articleID;
  private string title;
  private string content;
  private string author;
  private DateTime pubDate;
  private string pagePath;
  private string adminID;

  #region Article 实例属性
  public int ArticleID
  {
   get
   {
    return articleID;
   }
  }

  public string Title
  {
   get
   {
    return title;
   }
   set
   {
    title = value;
   }
  }

  public string Content
  {
   get
   {
    return content;
   }
   set
   {
    content = value;
   }
  }

  public string Author
  {
   get
   {
    return author;
   }
   set
   {
    author = value;
   }
  }

  public DateTime PubDate
  {
   get
   {
    return pubDate;
   }
  }

  public string PagePath
  {
   get
   {
    return pagePath;
   }
   set
   {
    pagePath = value;
   }
  }

  public string AdminID
  {
   get
   {
    return adminID;
   }
   set
   {
    adminID = value;
   }
  }
  #endregion

  private Article()
  {
   
  }

  #region Article 静态方法
  public static Article CreateFromID(int articleID)
  {
   Article article = new Article();

   string sql = "SELECT * FROM vArticle WHERE ArticleID = @ArticleID";
   sql = sql.Replace("@ArticleID", articleID.ToString());

   DataTable dt = BaseClass.Query(sql);
   if(dt.Rows.Count <= 0)
   {
    return null;
   }

   article.articleID = int.Parse(dt.Rows[0]["ArticleID"].ToString());
   article.adminID = dt.Rows[0]["AdminID"].ToString();
   article.title = dt.Rows[0]["Title"].ToString();
   article.content = dt.Rows[0]["Content"].ToString();
   article.author = dt.Rows[0]["Author"].ToString();
   article.pubDate = DateTime.Parse(dt.Rows[0]["PubDate"].ToString());
   article.pagePath = dt.Rows[0]["PagePath"].ToString();

   return article;
  }

  public static int AddArticle(string title, string content, string author, string adminID)
  {
   string sql = @"EXECUTE AddArticle
'@AdminID', '@Title', '@Content', '@Author'";
   sql = sql.Replace("@AdminID", adminID);
   sql = sql.Replace("@Title", title);
   sql = sql.Replace("@Content", content);
   sql = sql.Replace("@Author", author);

   return BaseClass.Execute(sql);
  }

  public static int DelArticle(int articleID)
  {
   string sql = @"EXECUTE DelArticle @ArticleID";
   sql = sql.Replace("@ArticleID", articleID.ToString());

   return BaseClass.Execute(sql);
  }

  public static DataTable GetArticleList(int count)
  {
   string sql = @"SELECT TOP "+count.ToString()+" * FROM vArticle ORDER BY PubDate DESC";
   return BaseClass.Query(sql);
  }
  #endregion

  
  #region Article 实例方法
  public int Update()
  {
   string sql = @"EXECUTE UpdateArticle @ArticleID,
'@Title', '@Content', '@Author'";
   sql = sql.Replace("@ArticleID", this.articleID.ToString());
   sql = sql.Replace("@Title", this.title);
   sql = sql.Replace("@Content", this.content);
   sql = sql.Replace("@Author", this.author);

   return BaseClass.Execute(sql);
  }

  public void BiuldPage()
  {
   StringBuilder pageText = new StringBuilder();;

   // 读模板
   string modelPath = System.Configuration.ConfigurationSettings.AppSettings["ModelPath"];
   System.IO.StreamReader reader = new System.IO.StreamReader(modelPath, ASCIIEncoding.GetEncoding("gb2312"));
   pageText = new StringBuilder(reader.ReadToEnd());
   reader.Close();

   // 填充模板内容
   pageText = pageText.Replace("
{{@Title}}", this.Title);
   pageText = pageText.Replace("
{{@Author}}", this.Author);
   pageText = pageText.Replace("
{{@PubDate}}", this.PubDate.ToString());
   pageText = pageText.Replace("
{{@Content}}", this.Content);

   // 保存静态页
   string filePath = System.Configuration.ConfigurationSettings.AppSettings["StaticPagePath"];
   string fileName = filePath + BaseClass.GetRandomString()+".shtml";

   System.IO.StreamWriter writer = new System.IO.StreamWriter(fileName,true, Encoding.GetEncoding("gb2312"));
   writer.Write(pageText.ToString());
   writer.Close();

   // 修改数据库
   string sql = "EXECUTE BuildPage @ArticleID,
'@PagePath'";
   sql = sql.Replace("@ArticleID", this.ArticleID.ToString());
   sql = sql.Replace("@PagePath", fileName);
   BaseClass.Execute(sql);

  }
  #endregion
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值