public Article GetArticle(int articleId, ISystemResponse error) { Article article = new Article(); try { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("articleId", articleId.ToString()); parameters.Add("bit", "false"); string request = WebAPIClient.GetRequest("Articles", "Get", parameters, error); if (!string.IsNullOrEmpty(request) && !error.Error) { JavaScriptSerializer serializer = new JavaScriptSerializer(); ArticleResponseModel response = serializer.Deserialize <ArticleResponseModel>(request); if (response != null && !error.Error && response.article != null) { article = response.article; } } } catch (Exception ex) { error.Error = true; error.Message = "No se pudo obtener la informacion del articulo solicitado"; error.Exception = ex; } return(article); }
/// <summary> /// javascript异步请求完成后的回调 /// </summary> /// <param name="result"></param> /// <param name="origin"></param> public void OnHttpGetHandler(string result, string origin) { Task.Run(async() => { BaseModel baseModel = JsonConvert.DeserializeObject <BaseModel>(result); if (baseModel.base_resp.err_msg == "ok") { if (origin == "queryList") { SearchModel searchModel = JsonConvert.DeserializeObject <SearchModel>(result); OnSearchHandler?.Invoke(searchModel); } else if (origin == "article") { ArticleResponseModel articleResponseModel = JsonConvert.DeserializeObject <ArticleResponseModel>(result); OnArticleResponseHandler?.Invoke(articleResponseModel); } } else { LogService.Error($"请求{origin}出错:{result}"); await ChromeWebBrowser.spiderManager.OnRequestError(); } }); }
public IHttpActionResult GetById(int id) { var article = this.articlesService .GetById(id); var articleToReturn = new ArticleResponseModel(article); return this.Ok(articleToReturn); }
public IHttpActionResult Get(int articleId, bool bit) { ISystemResponse error = new SystemResponse(); var article = _repository.GetArticleById(articleId, error); var response = new ArticleResponseModel { article = article }; return(Ok(response)); }
public IHttpActionResult GetById(int id) { var article = this.articlesService .GetById(id); var articleToReturn = new ArticleResponseModel(article); return(this.Ok(articleToReturn)); }
public async Task <IActionResult> Post([FromBody] ArticleEntry value) { try { var result = await _articleProvider.Insert(value); var response = new ArticleResponseModel(result); return(Ok(response)); } catch (Exception) { var result = new FailureModel(success: false, code: (int)HttpStatusCode.BadRequest, response: "Bad Request"); return(BadRequest(result)); } }
public async Task <IActionResult> Get(long id) { try { var article = await _articleProvider.GetOne(id); var result = new ArticleResponseModel(article); return(Ok(result)); } catch (Exception ex) { var result = new FailureModel(success: false, code: (int)HttpStatusCode.BadRequest, response: "Bad Request"); return(BadRequest(result)); } }
public async Task <IActionResult> Delete(long id) { try { await _articleProvider.Delete(id); var emptyModel = new Article(); var response = new ArticleResponseModel(emptyModel); return(Ok(response)); } catch (Exception) { var result = new FailureModel(success: false, code: (int)HttpStatusCode.BadRequest, response: "Bad Request"); return(BadRequest(result)); } }
/// <summary> /// 获取历史文章列表回调 /// </summary> /// <param name="articleResponseModel"></param> private async void ArticleResponseHandlerCallback(ArticleResponseModel articleResponseModel) { LogService.Info($"当前条数:{articleResponseModel.app_msg_list.Count},准备写入到数据库"); int oldArticleCount = articleResponseModel.app_msg_list.Count(a => a.create_time < LastStartTimeSpan); if (oldArticleCount < articleResponseModel.app_msg_list.Count) { List <WeChatArticle> saveList = new List <WeChatArticle>(); articleResponseModel.app_msg_list.ForEach(async item => { var article = await spiderHandler.QueryArticleByAid(item.aid); if (article.Count >= 1 || item.create_time < LastStartTimeSpan) { LogService.Info($"文章({item.aid})已经存在,跳过保存"); return; } WeChatArticle model = item.ConvertModel(); model.Id = IdWorkContext.ID_WORKER.NextId(); model.CreateDate = DateTime.Now; saveList.Add(model); }); if (saveList.Count == 0) { await NextTask(); } else { try { await spiderHandler.InsertArticleByList(saveList, CurrentTask.SpiderId); } catch (Exception e) { LogService.Error($"将文章写入到数据库出错{e.Message}", e); } LogService.Info("准备翻页,休眠30秒"); Thread.Sleep(1000 * 30); CurrentTask.ToQueryArticleList(++CurrentTask.CurrentPage); } } else { await NextTask(); } }
public IHttpActionResult CreateArticle(ArticlesRequestModel model) { if (!ModelState.IsValid) { return(this.BadRequest(ModelState)); } var articleToCreate = new Article { Title = model.Title, Content = model.Content, Category = this.categories.GetByName(model.Category), Tags = this.tags.GetTagCollection(model.Tags), DateCreated = DateTime.Now }; Article createdArticle = this.articles.Add(articleToCreate); return(this.Ok(ArticleResponseModel.GetFromModel(createdArticle))); }