public async Task <IActionResult> Put(int id, [FromBody] ArticleAddOrUpdateViewModel article) { if (article == null) { return(BadRequest()); } //使用FluentValidation验证属性 if (!ModelState.IsValid) { return(new ValidationErrorResult(ModelState)); } var result = await Repository.FindArticleByIdAsync(id); if (result == null) { return(BadRequest("找不到该文章")); } Mapper.Map(article, result); result.LastModify = DateTime.Now; if (!await UnitForWork.SaveAsync()) { return(BadRequest("Save Error!")); } return(NoContent()); }
public async Task <IActionResult> Post([FromBody] ArticleAddOrUpdateViewModel articleAddResource) { if (articleAddResource == null) { return(BadRequest()); } //使用FluentValidation验证属性 if (!ModelState.IsValid) { return(new ValidationErrorResult(ModelState)); } var article = Mapper.Map <ArticleAddOrUpdateViewModel, Article>(articleAddResource); article.Auther = "admin"; article.Date = DateTime.Now; Repository.PostArticle(article); if (!await UnitForWork.SaveAsync()) { throw new Exception("保存失败!"); } var resultViewModel = Mapper.Map <Article, ArticleViewModel>(article).ToDynamic(); var resultViewModelId = resultViewModel.Where(s => s.Key == "Id").FirstOrDefault().Value; resultViewModel.TryAdd("links", CreateHateoasLinks((int)resultViewModelId)); return(CreatedAtRoute("GetSingleArticle", new { id = resultViewModelId }, resultViewModel)); }