/// <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); }
/// <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()); }
/// <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); } }