public Stream Invite(string InviterID, string InviteeID) { if (string.IsNullOrEmpty(InviterID) || string.IsNullOrEmpty(InviteeID)) { return(ResponseHelper.Failure("InviterID或InviteeID信息不完全!")); } try { if (EFHelper.GetAll <Visitor>().Where(t => t.VisitorID == InviterID).Count() == 0) { return(ResponseHelper.Failure("Inviter游客不存在!")); } if (EFHelper.GetAll <Visitor>().Where(t => t.VisitorID == InviteeID).Count() == 0) { return(ResponseHelper.Failure("Invitee游客不存在!")); } using (var db = new EFDbContext()) { //判断邀请者是否已拥有队伍 var inviterGroup = db.Groups.Where(t => t.VisitorID == InviterID && t.InviteeState == 1); //若没有,则新建队伍 if (inviterGroup.Count() == 0) { string groupID = IDHelper.getNextGroupID(DateTime.Now); //自己邀请自己即为建立队伍 db.Groups.Add(new Group() { GroupID = groupID, VisitorID = InviterID, InviteeState = 1, InviterID = InviterID }); db.Groups.Add(new Group() { GroupID = groupID, VisitorID = InviteeID, InviteeState = 0, InviterID = InviterID }); } else //否则以邀请者队伍进行邀请 { var group = inviterGroup.Single(); db.Groups.Add(new Group() { GroupID = group.GroupID, VisitorID = InviteeID, InviteeState = 0, InviterID = InviterID }); } db.SaveChanges(); return(ResponseHelper.Success(null)); } } catch (Exception ex) { while (ex.InnerException != null) { ex = ex.InnerException; } return(ResponseHelper.Failure(ex.Message)); } }