/// <summary> /// 注册(有StudentId) /// </summary> /// <param name="unionId"></param> /// <param name="studentId"></param> /// <param name="name"></param> /// <param name="mobile"></param> /// <param name="idNo"></param> /// <param name="relation"></param> /// <returns></returns> public bool Register(string unionId, Guid studentId, string name, string mobile, string idNo, string relation) { try { var q = Db.Parent.Where(x => x.UnionId == unionId); var parentId = Guid.NewGuid(); if (!q.Any()) { var parent = new Parent(); parent.Checkintime = DateTime.Now; parent.ColorStatus = 0; parent.HealthyStatus = 0; parent.IdNo = idNo; parent.LastAccessTime = DateTime.Now; parent.Mobile = mobile; parent.Name = name; parent.ParentId = parentId; parent.Status = (byte)EnumDataStatus.Normal; parent.UnionId = unionId; Db.Parent.Add(parent); } else { parentId = q.SingleOrDefault().ParentId; } var q1 = Db.StudentParent.Where(x => x.ParentId == parentId && x.StudentId == studentId); if (!q1.Any()) { var sp = new StudentParent(); sp.Checkintime = DateTime.Now; sp.ParentId = parentId; sp.Relationship = relation; sp.Status = (byte)EnumDataStatus.Normal; sp.StudentId = studentId; Db.StudentParent.Add(sp); } Db.SaveChanges(); return(true); } catch (DbEntityValidationException dex) { string error = dex.EntityValidationErrors.FirstOrDefault().ValidationErrors.FirstOrDefault().ErrorMessage; SetError(error); return(false); } catch (Exception ex) { SetError(ex); return(false); } }
/// <summary> /// 家长注册 /// </summary> /// <param name="unionId"></param> /// <param name="teamId"></param> /// <param name="studentName"></param> /// <param name="relationType"></param> /// <returns></returns> public bool ParentRegister(string unionId, Guid teamId, string studentName, string studentAvatar, string relationType) { try { var qUser = Db.WeiXinUser.Where(x => x.UnionId == unionId); if (!qUser.Any()) { ErrorMessage = "用户不存在!"; return(false); } var user = qUser.SingleOrDefault(); var qTeam = Db.Team.Where(x => x.TeamId == teamId); if (!qTeam.Any()) { ErrorMessage = "班级不存在!"; return(false); } var team = qTeam.SingleOrDefault(); var qStudent = Db.Student.Where(x => x.Name == studentName && x.TeamId == teamId); Guid studentId = Guid.NewGuid(); if (!qStudent.Any()) { var student = new Student(); student.Status = 1; student.AvatarUrl = studentAvatar; student.Checkintime = DateTime.Now; student.LastAccessTime = DateTime.Now; student.Name = studentName; student.StudentId = studentId; student.No = 0; student.IdNo = ""; student.TeamId = teamId; Db.Student.Add(student); } else { var student = qStudent.SingleOrDefault(); student.Status = 1; } var qTs = Db.TeamStudent.Where(x => x.StudentId == studentId && x.TeamId == teamId); if (!qTs.Any()) { var ts = new TeamStudent(); ts.Status = 1; ts.Checkintime = DateTime.Now; ts.StudentId = studentId; ts.No = 0; ts.TeamId = teamId; Db.TeamStudent.Add(ts); } else { var ts = qTs.SingleOrDefault(); ts.Status = 1; } var qPc = Db.StudentParent.Where(x => x.Parent.UnionId == unionId && x.StudentId == studentId); if (!qPc.Any()) { var pc = new StudentParent(); pc.Checkintime = DateTime.Now; pc.Relationship = relationType; pc.Status = 1; pc.StudentId = studentId; Db.StudentParent.Add(pc); } else { var pc = qPc.SingleOrDefault(); pc.Status = 1; } Db.SaveChanges(); return(true); } catch (DbEntityValidationException dex) { string error = dex.EntityValidationErrors.FirstOrDefault().ValidationErrors.FirstOrDefault().ErrorMessage; SetError(error); return(false); } catch (Exception ex) { SetError(ex); return(false); } }