public override void InsertPost(Post post)
{
using (TransactionScope ts = new TransactionScope())
{
using (var conn = this.CreateConnection())
{
if (conn.HasConnection)
{
var sqlQuery = string.Format("INSERT INTO {0}Posts (BlogID, PostID, Title, Description, PostContent, DateCreated, DateModified, Author, IsPublished, IsCommentEnabled, Raters, Rating, Slug, IsDeleted) VALUES ({1}blogid, {1}id, {1}title, {1}desc, {1}content, {1}created, {1}modified, {1}author, {1}published, {1}commentEnabled, {1}raters, {1}rating, {1}slug, {1}isdeleted)", this.tablePrefix, this.parmPrefix);
using (var cmd = conn.CreateTextCommand(sqlQuery))
{
var parms = cmd.Parameters;
parms.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
parms.Add(conn.CreateParameter(FormatParamName("id"), post.Id.ToString()));
parms.Add(conn.CreateParameter(FormatParamName("title"), post.Title));
parms.Add(conn.CreateParameter(FormatParamName("desc"), (post.Description ?? string.Empty)));
parms.Add(conn.CreateParameter(FormatParamName("content"), post.Content));
parms.Add(conn.CreateParameter(FormatParamName("created"), post.DateCreated.AddHours(-BlogSettings.Instance.Timezone)));
parms.Add(conn.CreateParameter(FormatParamName("modified"), (post.DateModified == new DateTime() ? DateTime.Now : post.DateModified.AddHours(-BlogSettings.Instance.Timezone))));
parms.Add(conn.CreateParameter(FormatParamName("author"), (post.Author ?? string.Empty)));
parms.Add(conn.CreateParameter(FormatParamName("published"), post.IsPublished));
parms.Add(conn.CreateParameter(FormatParamName("commentEnabled"), post.HasCommentsEnabled));
parms.Add(conn.CreateParameter(FormatParamName("raters"), post.Raters));
parms.Add(conn.CreateParameter(FormatParamName("rating"), post.Rating));
parms.Add(conn.CreateParameter(FormatParamName("slug"), (post.Slug ?? string.Empty)));
parms.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();
}
}