public IActionResult Add(AddArticleRequest model) { if (model == null) { return this.BadRequest(); } var result = this.ArticleService.Add(model); return this.ApiResponse(result); }
public OperationResult<int?> Add(AddArticleRequest model) { using (var scope = new TransactionScope()) { using (var conn = this.OpenConnection()) { string sql = @" INSERT INTO [Article] ( Title,Content,Summary,UserID,[From],PostDate,Status,AllowComment ) VALUES (@Title, @Content, @Summary, @UserID, @From, @PostDate, ISNULL(@Status,1), @AllowComment); SELECT @@IDENTITY; "; var id = conn.ExecuteScalar<int>(sql, new { model.Title, model.Content, model.Summary, model.UserID, model.From, PostDate = model.PostDate ?? DateTime.Now, Status = model.Status, model.AllowComment }); if (model.CategoryIDList.Length > 0) { var paras = model.CategoryIDList .Select(t => new { ArticleID = id, CategoryID = t }).ToArray(); string insertCategorySql = @" INSERT INTO [CategoryArticle] ( ArticleID, CategoryID ) VALUES ( @ArticleID, @CategoryID ); "; conn.Execute(insertCategorySql, paras); } scope.Complete(); this.CategoryService.ClearCache(); return OperationResult<int?>.SuccessResult(id); } } }