public int BindAndRegisterParent(string stusJson, string parentJson, ModelWxUserInfo wxUser) { var res = 0; try { SYS_Parent parent = JsonHelper.JsonToT <SYS_Parent>(parentJson); List <SYS_Student> stus = JsonHelper.JsonToT <List <SYS_Student> >(stusJson); parent.OpenId = wxUser.openid; parent.NickName = wxUser.nickname; parent.Status = 1; parent.AvatarPic = wxUser.headimgurl; parent.SchoolId = stus[0].SchoolId; parent.CreatTime = DateTime.Now; parent.Sex = (byte)wxUser.sex; UnitOfWork.Repository <SYS_Parent>().AddEntity(parent); var result = UnitOfWork.CommitAsync().Result; if (result > 0 && stus.Count > 0) { foreach (var item in stus) { FK_Stu_Parent fsp = new FK_Stu_Parent() { StuId = item.ID, ParentId = parent.ID, OpenId = parent.OpenId, SchoolId = item.SchoolId, Enabled = true }; UnitOfWork.Repository <FK_Stu_Parent>().AddEntity(fsp); } res = UnitOfWork.CommitAsync().Result; } } catch (Exception e) { LogHelper.Error(e.ToString()); } return(res); }
/// <summary> /// 开始绑定 /// </summary> public string DoWxBind(string name, string cardNo, ModelWxUserInfo wxUser) { var res = "未检索到名下卡片,请确认人员信息及卡片已录入系统"; var cards = UnitOfWork.Repository <SYS_Card>().GetEntitiesAsync(x => x.CardNo == cardNo && x.Status == (byte)CardStatus.正常).Result; if (cards != null && cards.Count > 0) { object master = null; foreach (var c in cards) { if (c.CardType == (byte)CardType.学生卡) { master = UnitOfWork.Repository <SYS_Student>().GetEntitiesAsync(x => x.ID == c.CardMasterId && x.StuName == name && x.Status == (byte)StuStatus.正常).Result.FirstOrDefault(); } else { master = UnitOfWork.Repository <SYS_Staff>().GetEntitiesAsync(x => x.ID == c.CardMasterId && x.StaffName == name && x.Status == (byte)StaffStatus.在职).Result.FirstOrDefault(); } if (master != null) { break; } } if (master != null) { res = "关联失败请联系客服"; var isOk = 0; //学生家长关联 if (master.GetType() == typeof(SYS_Student)) { var stu = (SYS_Student)master; var parent = new SYS_Parent(); var oldParent = UnitOfWork.Repository <SYS_Parent>().GetEntitiesAsync(x => x.OpenId.Length > 6 && x.OpenId == wxUser.openid).Result.FirstOrDefault(); if (oldParent == null) { parent.OpenId = wxUser.openid; parent.NickName = wxUser.nickname; parent.Name = wxUser.nickname; parent.Phone = ""; parent.RelationType = (byte)RelationType.未填; parent.Status = 1; parent.AvatarPic = wxUser.headimgurl; parent.SchoolId = stu.SchoolId; parent.CreatTime = DateTime.Now; parent.Sex = (byte)wxUser.sex; UnitOfWork.Repository <SYS_Parent>().AddEntity(parent); isOk = UnitOfWork.CommitAsync().Result; } else { parent = oldParent; isOk = 1; } if (isOk > 0) { var oldFsp = UnitOfWork.Repository <FK_Stu_Parent>().GetEntitiesAsync(x => x.StuId == stu.ID && x.OpenId == parent.OpenId).Result.FirstOrDefault(); if (oldFsp == null) { FK_Stu_Parent fsp = new FK_Stu_Parent() { StuId = stu.ID, ParentId = parent.ID, OpenId = parent.OpenId, SchoolId = stu.SchoolId, Enabled = true }; UnitOfWork.Repository <FK_Stu_Parent>().AddEntity(fsp); isOk = UnitOfWork.CommitAsync().Result; } if (isOk > 0) { res = "OK,关联成功"; } } } else //职员关联 { var staff = (SYS_Staff)master; staff.OpenId = wxUser.openid; staff.NickName = wxUser.nickname; staff.AvatarPic = wxUser.headimgurl; staff.Sex = (byte)wxUser.sex; UnitOfWork.Repository <SYS_Staff>().UpdateEntity(staff); isOk = UnitOfWork.CommitAsync().Result; if (isOk > 0) { res = "OK,关联成功"; } } } else { res = "未找到人员信息"; } } return(res); }