Ejemplo n.º 1
0
        /// <summary>
        /// 获取菜谱分类
        /// </summary>
        /// <returns></returns>
        public async Task <ProcessResult> GetCookClassify()
        {
            var processresult = new ProcessResult();


            var clearresult = DBHelper.Context.DeleteAll <cook_classify>();

            processresult.Add(ProcessResult.CleanDB, ProcessResultType.成功, clearresult.ToString(), new[] { "cook_classify" });
            CookClassifyEntity data = null;

            try
            {
                data = await recipeServer.GetCookClassify();
            }
            catch (Exception e)
            {
                processresult.Add("一级分类数据获取或解析", ProcessResultType.失败, e.Message);
            }
            if (data != null && data.Status)
            {
                processresult.Add("一级分类数据验证", ProcessResultType.成功);
            }
            else
            {
                processresult.Add("一级分类数据验证", ProcessResultType.失败);

                return(processresult);
            }
            var datamodel = data.Tngou.Select(c => new cook_classify()
            {
                Id          = c.Id,
                cook_class  = c.Cookclass,
                description = c.Description,
                name        = c.Name,
                seq         = 0,
                title       = c.Title,
            }).ToList();

            try
            {
                var result = DBHelper.Context.Insert(datamodel);
                processresult.Add("一级分类数插入", ProcessResultType.成功, result.ToString());
            }
            catch (Exception e)
            {
                processresult.Add("一级分类数插入", ProcessResultType.失败, e.Message);
                return(processresult);
            }

            var topClassCookClassify = DBHelper.Context.From <cook_classify>().Where(c => c.cook_class == 0).ToList();

            if (topClassCookClassify != null && topClassCookClassify.Count > 0)
            {
                processresult.Add("二级分类读取", ProcessResultType.成功, topClassCookClassify.Count.ToString());

                foreach (var item in topClassCookClassify)
                {
                    CookClassifyEntity subdata = null;
                    try
                    {
                        subdata = await recipeServer.GetCookClassify(item.Id.ToString());
                    }
                    catch (Exception e)
                    {
                        processresult.Add("二级分类获取或解析", ProcessResultType.失败, e.Message);
                    }
                    if (subdata != null && subdata.Status)
                    {
                        processresult.Add("二级分类数据验证", ProcessResultType.成功);
                    }
                    else
                    {
                        processresult.Add("二级分类数据验证", ProcessResultType.失败);

                        continue;
                    }
                    var subdatamodel = subdata.Tngou.Select(c => new cook_classify()
                    {
                        Id          = c.Id,
                        cook_class  = c.Cookclass,
                        description = c.Description,
                        name        = c.Name,
                        seq         = 1,
                        title       = c.Title,
                    }).ToList();
                    try
                    {
                        var result = DBHelper.Context.Insert(subdatamodel);
                        processresult.Add("二级分类数插入", ProcessResultType.成功, result.ToString(), new string[] { "当前分类" + item.Id });
                    }
                    catch (Exception e)
                    {
                        processresult.Add("二级分类数插入", ProcessResultType.失败, e.Message, new string[] { "当前分类" + item.Id });
                        continue;
                    }
                }
            }
            else
            {
                processresult.Add("二级分类读取", ProcessResultType.失败, "没找到二级分类数据");
            }
            return(processresult);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取菜谱详细
        /// </summary>
        /// <returns></returns>
        private async Task <ProcessResult> GetFoodDetail()
        {
            var processresult = new ProcessResult();

            var clearresult = DBHelper.Context.DeleteAll <food_detail>();

            processresult.Add(ProcessResult.CleanDB, ProcessResultType.成功, clearresult.ToString(), new[] { "food_detail" });


            List <int> data = new List <int>();

            try
            {
                data = DBHelper.Context.From <food_show_item>().Select(c => c.Id).ToList <int>();
            }
            catch (Exception e)
            {
                processresult.Add("食物列表获取或解析", ProcessResultType.失败, e.Message);
            }

            foreach (var item in data)
            {
                FoodDetailEntity c = null;
                try
                {
                    c = await recipeServer.GetFoodDetail(item.ToString());
                }
                catch (Exception e)
                {
                    processresult.Add("食物详情获取或解析", ProcessResultType.失败, e.Message, new string[] { "当前页" + item });
                    continue;
                }
                if (c == null || c.Status == false)
                {
                    processresult.Add("食物详情数据验证", ProcessResultType.失败, null, new string[] { "当前页" + item });
                    continue;
                }

                var datamodel = new food_detail()
                {
                    food_id     = c.Id,
                    count       = c.Count,
                    description = c.Description,
                    fcount      = c.Fcount,
                    food        = GetShortStr(c.Food, 299),
                    img         = c.Img,
                    message     = c.Message,
                    name        = c.Name,
                    rcount      = c.Rcount,
                    status      = c.Status,
                    summary     = c.Summary,
                };

                try
                {
                    var result = DBHelper.Context.Insert(datamodel);
                    processresult.Add("食物详情数据插入", ProcessResultType.成功, result.ToString(), new string[] { "当前ID" + item });
                }
                catch (Exception e)
                {
                    processresult.Add("食物详情数据插入", ProcessResultType.失败, e.Message, param: new string[] { "当前ID" + item });
                }
            }

            return(new ProcessResult());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取各个菜谱的分类并更新列表
        /// </summary>
        /// <returns></returns>
        public async Task <ProcessResult> GetShowItemClassify()
        {
            var processresult = new ProcessResult();
            var clearresult   = DBHelper.Context.DeleteAll <cook_2_cook_classify>();

            processresult.Add(ProcessResult.CleanDB, ProcessResultType.成功, clearresult.ToString(), new[] { "show_item_classify" });

            var subClassify = DBHelper.Context.From <cook_classify>().Where(c => c.seq == 1).ToList();

            foreach (var item in subClassify)
            {
                for (int i = 1; i < int.MaxValue; i++)
                {
                    CookListEntity data = null;
                    try
                    {
                        data = await recipeServer.GetCookListById(i.ToString(), item.Id.ToString());
                    }
                    catch (Exception e)
                    {
                        processresult.Add("菜谱列表获取或解析", ProcessResultType.失败, e.Message, new string[] { "当前子类" + item.Id, "当前页" + i });
                        continue;
                    }

                    if (data != null && data.Status)
                    {
                        if (data.Tngou.Count == 0)
                        {
                            processresult.Add("菜谱列表数据验证", ProcessResultType.成功, "无数据表明已经结束", new string[] { "当前子类" + item.Id, "当前页" + i });

                            break;
                        }
                        processresult.Add("菜谱列表数据验证", ProcessResultType.成功, data.Tngou.Count().ToString(), new string[] { "当前子类" + item.Id, "当前页" + i });
                    }
                    else
                    {
                        processresult.Add("菜谱列表数据验证", ProcessResultType.失败, "返回数据状态为Flase", new string[] { "当前子类" + item.Id, "当前页" + i });

                        continue;
                    }
                    var datamodel = data.Tngou.Select(c => new cook_2_cook_classify()
                    {
                        item_id     = c.Id,
                        classify_id = item.Id
                    }).ToList();

                    try
                    {
                        var result = DBHelper.Context.Insert(datamodel);
                        processresult.Add("菜谱类型数据插入", ProcessResultType.成功, result.ToString(), new string[] { "当前子类" + item.Id, "当前页" + i });
                    }
                    catch (Exception e)
                    {
                        processresult.Add("菜谱类型数据插入", ProcessResultType.失败, e.Message, new string[] { "当前子类" + item.Id, "当前页" + i });
                        continue;
                    }
                }
            }

            return(processresult);
        }