private string BuildDetailedError(Article article, Exception exception) { var sb = new StringBuilder(); sb.AppendLine(BuildUserFriendlyError(article)); sb.AppendLine("Article Info:"); sb.AppendLine(JsonConvert.SerializeObject(article)); sb.AppendLine(); sb.AppendLine($"Error Message: {exception.Message}"); sb.AppendLine("Stack Trace:"); sb.AppendLine(exception.StackTrace); return sb.ToString(); }
private static string BuildUserFriendlyError(Article article) { return $"Failed to update an article: {article.Title}"; }
public IHttpActionResult Put(Article article) { _articleService.Update(article); return Ok(); }
public UpdateArticleException(Article article, Exception exception) : base(BuildUserFriendlyError(article), exception) { DetailedError = BuildDetailedError(article, exception); }
public async Task Put(Article article) { var resource = _client.BuildUrl("api/article/"); await _client.Put(resource, article); }