/// <summary> /// 刪除成員選課資訊 /// </summary> /// <param name="account"></param> /// <param name="circleKey"></param> /// <param name="token"></param> /// <returns></returns> public bool DeleteCircleMember(CircleMemberRequest data) { var db = _uow.DbContext; var deleter = (from m in db.Members join ut in db.UserToken on m.Id equals ut.MemberId where ut.Token == data.Token select m).FirstOrDefault(); var learningCircleInfo = db.LearningCircle.FirstOrDefault(t => t.LearningOuterKey == data.CircleKey); if (learningCircleInfo == null) { return(false); } var memberInfo = db.Members.FirstOrDefault(t => t.Account == data.Account); if (memberInfo == null) { return(false); } //判斷是否已存在關聯 var checkData = GetCircleMemberInfo(memberInfo.Id, learningCircleInfo.Id); if (checkData != null) { db.CircleMember.Remove(checkData); db.SaveChanges(); return(true); } else { return(false); } }
/// <summary> /// 建立選課資訊 /// </summary> /// <param name="account"></param> /// <param name="circleKey"></param> /// <param name="token"></param> /// <returns></returns> public bool InsertCircleMember(CircleMemberRequest data) { var db = _uow.DbContext; var creator = (from m in db.Members join ut in db.UserToken on m.Id equals ut.MemberId where ut.Token == data.Token select m).FirstOrDefault(); var learningCircleInfo = db.LearningCircle.FirstOrDefault(t => t.LearningOuterKey == data.CircleKey); if (learningCircleInfo == null) { return(false); } var memberInfo = db.Members.FirstOrDefault(t => t.Account == data.Account); if (memberInfo == null) { return(false); } //判斷是否已存在關聯 var checkData = GetCircleMemberInfo(memberInfo.Id, learningCircleInfo.Id); if (checkData != null) { checkData.Enabled = true; db.SaveChanges(); return(true); } var entity = new Infrastructure.Entity.CircleMember() { CircleId = learningCircleInfo.Id, Created = TimeData.Create(DateTime.UtcNow), Updated = TimeData.Create(null), Deleted = TimeData.Create(null), CreateUser = creator.Id, Enabled = true, MemberId = memberInfo.Id }; db.CircleMember.Add(entity); db.SaveChanges(); return(true); }