コード例 #1
0
        /// <summary>
        ///     获得用户的体质类型(是和基本是)
        /// </summary>
        /// <param name="userId">用户id</param>
        public Dictionary <string, string> GetConstitution(int userId)
        {
            EF.P0101 p0101       = db.P0101.Where(c => c.id == userId).First();
            string   yes         = p0101.constitutionType == null ? null : p0101.constitutionType.Trim();
            string   yesPossible = p0101.possibleConstitutionType == null ? null : p0101.possibleConstitutionType.Trim();

            Dictionary <string, string> constitution = new Dictionary <string, string>();

            constitution.Add("yes", yes);
            constitution.Add("yesPossible", yesPossible);

            return(constitution);
        }
コード例 #2
0
ファイル: Food.cs プロジェクト: waterStone528/job
        /// <summary>
        ///     获取所有食材的文字信息
        /// </summary>
        public List <JsonClass.P03.FoodInfo> GetAllFoodText(int userId)
        {
            //获得体质类型
            EF.P0101      p0101 = db.P0101.Where(c => c.id == userId).First();
            List <string> constitutionTypeList = null;

            if (p0101.constitutionType != null)
            {
                constitutionTypeList = p0101.constitutionType.Split('%').ToList();
            }
            else if (p0101.possibleConstitutionType != null)
            {
                constitutionTypeList = p0101.possibleConstitutionType.Split('%').ToList();
            }
            else
            {
                return(null);
            }

            //获得并筛选相应体质的食材
            var linqData1 = from c in db.V0301
                            where constitutionTypeList.Contains(c.constitutionType)
                            select new JsonClass.P03.FoodInfo
            {
                a = c.id,
                b = c.type,
                c = c.foodType,
                d = c.name,
                e = c.nutrition,
                f = c.efficacy,
                g = c.imageHeightCal,
                v = c.updateCode
            };

            //去除重复
            var linqData2 = (from c in linqData1
                             group c by new { c.a, c.b } into g
                             select g.FirstOrDefault()).ToList();

            //去除适宜与避免相同的食材
            var linqData3 = (from c in linqData2
                             where c.b == 1
                             select c.a).Intersect(
                from o in linqData2
                where o.b == 2
                select o.a
                );

            return(linqData2.Where(c => !linqData3.Contains(c.a)).ToList());
        }
コード例 #3
0
ファイル: UserBasicInfo.cs プロジェクト: waterStone528/job
        /// <summary>
        ///     注册,并获取用户基本信息
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <returns>用户基本信息</returns>
        public JsonClass.P01.UserBasicInfo Login(string userName)
        {
            var p0101 = db.P0101.Where(c => c.phoneLoginEmail == userName).FirstOrDefault();

            JsonClass.P01.UserBasicInfo userBasicInfo = new JsonClass.P01.UserBasicInfo();
            //已经注册
            if (p0101 != null)
            {
                userBasicInfo.a = p0101.id;
                userBasicInfo.b = p0101.gender;
                userBasicInfo.c = p0101.birthday;

                var p0102 = db.P0102.Where(c => c.userId == p0101.id).FirstOrDefault();
                userBasicInfo.d = p0102 == null ? false : true;

                return(userBasicInfo);
            }
            //还未注册
            else
            {
                EF.P0101 p0101New = new EF.P0101();
                p0101New.phoneLoginEmail    = userName;
                p0101New.nowQuestionGroupId = 0;
                p0101New.testTimes          = 0;
                p0101New.testedTimes        = 0;
                p0101New.registerTime       = DateTime.Now;
                p0101New.lastUseTime        = DateTime.Now;

                db.P0101.Add(p0101New);
                db.SaveChanges();

                userBasicInfo.a = p0101New.id;
                userBasicInfo.b = null;
                userBasicInfo.c = null;
                userBasicInfo.d = false;

                return(userBasicInfo);
            }
        }