public override void UpdatePost(Post post)
{
using (TransactionScope ts = new TransactionScope())
{
using (var conn = this.CreateConnection())
{
if (conn.HasConnection)
{
var sqlQuery = string.Format("UPDATE {0}Posts SET Title = {1}title, Description = {1}desc, PostContent = {1}content, DateCreated = {1}created, DateModified = {1}modified, Author = {1}Author, IsPublished = {1}published, IsCommentEnabled = {1}commentEnabled, Raters = {1}raters, Rating = {1}rating, Slug = {1}slug, IsDeleted = {1}isdeleted WHERE BlogID = {1}blogid AND PostID = {1}id", this.tablePrefix, this.parmPrefix);
using (var cmd = conn.CreateTextCommand(sqlQuery))
{
var p = cmd.Parameters;
p.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
p.Add(conn.CreateParameter(FormatParamName("id"), post.Id.ToString()));
p.Add(conn.CreateParameter(FormatParamName("title"), post.Title));
p.Add(conn.CreateParameter(FormatParamName("desc"), (post.Description ?? string.Empty)));
p.Add(conn.CreateParameter(FormatParamName("content"), post.Content));
p.Add(conn.CreateParameter(FormatParamName("created"), post.DateCreated.AddHours(-BlogSettings.Instance.Timezone)));
p.Add(conn.CreateParameter(FormatParamName("modified"), (post.DateModified == new DateTime() ? DateTime.Now : post.DateModified.AddHours(-BlogSettings.Instance.Timezone))));
p.Add(conn.CreateParameter(FormatParamName("author"), (post.Author ?? string.Empty)));
p.Add(conn.CreateParameter(FormatParamName("published"), post.IsPublished));
p.Add(conn.CreateParameter(FormatParamName("commentEnabled"), post.HasCommentsEnabled));
p.Add(conn.CreateParameter(FormatParamName("raters"), post.Raters));
p.Add(conn.CreateParameter(FormatParamName("rating"), post.Rating));
p.Add(conn.CreateParameter(FormatParamName("slug"), (post.Slug ?? string.Empty)));
p.Add(conn.CreateParameter(FormatParamName("isdeleted"), post.IsDeleted));
cmd.ExecuteNonQuery();
}
// Tags
this.UpdateTags(post, conn);
// Categories
this.UpdateCategories(post, conn);
// Comments
this.UpdateComments(post, conn);
// Email Notification
this.UpdateNotify(post, conn);
}
}
ts.Complete();
}
}