* Web.csproj:

* T.cs:
* IModule.cs:
* App.master:
* IProvider.cs:
* Error.aspx:
* AOEMail.aspx:
* Login.aspx:
* Index.aspx:
* Admin.aspx:
* yavscModel.csproj:
* WFManager.cs:
* Index.aspx:
* AddRole.aspx:
* Profile.aspx:
* Edit.aspx:
* Register.aspx:
* Index.aspx:
* RoleList.aspx:
* UserList.aspx:
* Validate.aspx:
* RemovePost.aspx:
* Index.aspx:
* BasketImpact.cs:
* Brand.aspx:
* Delete.aspx:
* Create.aspx:
* Backups.aspx:
* HomeController.cs:
* BlogManager.cs:
* Restore.aspx:
* Details.aspx:
* TitleNotFound.aspx:
* Product.aspx:
* AdminController.cs:
* Command.aspx:
* Service.aspx:
* BlogProvider.cs:
* NewProject.aspx:
* Catalog.aspx:
* Restored.aspx:
* BasketController.cs:
* AccountController.cs:
* WorkFlowController.cs:
* BlogsApiController.cs:
* ChangePassword.aspx:
* RemoveRoleQuery.aspx:
* CreateBackup.aspx:
* IContentProvider.cs:
* BackOfficeController.cs:
* FrontOfficeController.cs:
* NpgsqlBlogProvider.cs:
* NpgsqlContentProvider.cs:
* RegistrationPending.aspx:
* ProductCategory.aspx:
* FrontOfficeApiController.cs:
* ChangePasswordSuccess.aspx:
* ReferenceNotFound.aspx: 
* BackupCreated.aspx

Fixes many HTTP 500
Refactoring on the go
This commit is contained in:
Paul Schneider
2014-10-06 03:05:57 +02:00
parent 301dbdcb6d
commit 685c03b37e
59 changed files with 385 additions and 393 deletions

View File

@ -57,6 +57,15 @@ namespace Npgsql.Web.Blog
{
return Provider.GetComments (postid,getHidden);
}
/// <summary>
/// Tag the specified post by postid.
/// </summary>
/// <param name="postid">Postid.</param>
/// <returns>The tag identifier</returns>
public static long Tag(long postid, string tag) {
return Provider.Tag (postid, tag);
}
}
}

View File

@ -25,6 +25,8 @@ namespace yavscModel.Blogs
public abstract bool AutoValidateComment { get; set; }
public abstract void ValidateComment (long cmtid);
public abstract void UpdateComment (long cmtid, string content, bool visible);
public abstract long Tag (long postid,string tag);
public abstract void RemoveTag (long tagid);
}
}

View File

@ -14,6 +14,26 @@ namespace Npgsql.Web.Blog
#region implemented abstract members of BlogProvider
public override long Tag (long postid, string tag)
{
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString))
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText = "insert into bltag (blid,tag) values (@postid,@tag) returning _id";
cmd.Parameters.Add("@tag",tag);
cmd.Parameters.Add("@postid",postid);
return (long) cmd.ExecuteScalar ();
}
}
public override void RemoveTag (long tagid)
{
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString))
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText = "delete from bltag where _id = @tagid";
cmd.Parameters.Add("@tagid",tagid);
cmd.ExecuteNonQuery ();
}
}
public override long GetPostId (string username, string title)
{
throw new NotImplementedException ();
@ -199,6 +219,18 @@ namespace Npgsql.Web.Blog
be.Posted = rdr.GetDateTime (rdr.GetOrdinal ("posted"));
be.Visible = rdr.GetBoolean (rdr.GetOrdinal ("visible"));
be.Id = rdr.GetInt64 (rdr.GetOrdinal ("_id"));
using (NpgsqlCommand cmdtags = cnx.CreateCommand()) {
List<string> tags = new List<string> ();
cmd.CommandText = "select tag from bltags where blid = @pid";
cmd.Parameters.Add ("@pid", be.Id);
using (NpgsqlDataReader rdrt = cmd.ExecuteReader ()) {
while (rdrt.Read ()) {
tags.Add (rdrt.GetString (0));
}
}
be.Tags = tags.ToArray ();
}
}
}
}