public async Task <FoodListEntity> GetFoodListByPage(string parameter) { var result = new FoodListEntity(); string url = StaticURLHelper.FoodList; Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("page", parameter); var jsonstr = await GetJSON(url, dic); result = JsonConvert.DeserializeObject <FoodListEntity>(jsonstr); return(result); }
/// <summary> /// 获取食物列表 /// </summary> /// <returns></returns> public async Task <ProcessResult> GetFoodShowItem() { var processresult = new ProcessResult(); var clearresult = DBHelper.Context.DeleteAll <food_show_item>(); processresult.Add(ProcessResult.CleanDB, ProcessResultType.成功, clearresult.ToString(), new[] { "food_show_item" }); int flag = 0; for (int i = 1; i < int.MaxValue; i++) { FoodListEntity data = null; try { data = await recipeServer.GetFoodListByPage(i.ToString()); } catch (Exception e) { processresult.Add("食物列表获取或解析", ProcessResultType.失败, e.Message, new string[] { "当前页" + i }); continue; } if (data != null && data.Status) { if (data.Tngou.Count == 0) { processresult.Add("食物列表数据验证", ProcessResultType.成功, "无数据表明已经结束", new string[] { "当前页" + i }); if (flag > 5) { break; } flag++; continue; } processresult.Add("食物列表数据验证", ProcessResultType.成功, data.Tngou.Count().ToString(), new string[] { "当前页" + i }); } else { processresult.Add("食物列表数据验证", ProcessResultType.失败, "返回数据状态为Flase", new string[] { "当前页" + i }); continue; } var datamodel = data.Tngou.Select(c => new food_show_item() { Id = c.Id, count = c.Count, description = c.Description, disease = GetShortStr(c.Disease, 299), fcount = c.Fcount, food = c.Food, img = c.Img, name = c.Name, rcount = c.Rcount, summary = c.Summary, }).ToList(); try { var result = DBHelper.Context.Insert(datamodel); processresult.Add("食物数据插入", ProcessResultType.成功, result.ToString(), new string[] { "当前页" + i }); } catch (Exception e) { processresult.Add("食物数据插入", ProcessResultType.失败, e.Message, param: new string[] { "当前页" + i }); continue; } } return(processresult); }