public HttpResponseMessage AddItem(BlogsAddRequest model) { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } ItemResponse <int> response = new ItemResponse <int>(); string userId = _userService.GetCurrentUserId(); response.Item = _blogService.InsertBlog(model, userId); //InsertBlogs return(Request.CreateResponse(HttpStatusCode.OK, response)); }
// CREATE (INSERT) public int InsertBlog(BlogsAddRequest model, string userId) // Dependency Injection: remove static { int id = 0; DataProvider.ExecuteNonQuery(GetConnection, "dbo.Blogs_Insert_V2", inputParamMapper : delegate(SqlParameterCollection paramCollection) { SqlParameter ids = new SqlParameter("@TagList", System.Data.SqlDbType.Structured); if (model.Tags != null && model.Tags.Any()) { ids.Value = new object.Data.IntIdTable(model.Tags); } paramCollection.Add(ids); paramCollection.AddWithValue("@Title", model.Title); paramCollection.AddWithValue("@Subject", model.Subject); paramCollection.AddWithValue("@PublishDate", model.PublishDate); paramCollection.AddWithValue("@Content", model.Content); paramCollection.AddWithValue("@isPublished", model.isPublished); paramCollection.AddWithValue("@DateCreated", model.DateCreated); paramCollection.AddWithValue("@DateModified", model.DateModified); paramCollection.AddWithValue("@Slug", model.Slug); paramCollection.AddWithValue("@ImageUrl", model.ImageUrl); SqlParameter p = new SqlParameter("@Id", System.Data.SqlDbType.Int); p.Direction = System.Data.ParameterDirection.Output; paramCollection.Add(p); } , returnParameters : delegate(SqlParameterCollection param) { int.TryParse(param["@Id"].Value.ToString(), out id); } ); return(id); }