示例#1
0
        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);
        }
示例#2
0
        /// <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);
        }