コード例 #1
0
        public async Task <Session> StartOrJoin(StartJoinSessionRequest request)
        {
            if (string.IsNullOrEmpty(request.SessionId))
            {
                //Create Session
                var session = new Session();
                if (request.User != null)
                {
                    session.Users.Add(request.User);
                    await _context.AddAsync(session);

                    await _context.SaveChangesAsync();
                }
                return(session);
            }
            else
            {
                //Look up and join session
                var session = await _context.FindAsync <Session>(request.SessionId);

                session.Users.Add(request.User);
                _context.Update(session);
                await _context.SaveChangesAsync();

                return(session);
            }
        }
コード例 #2
0
        async Task StartOrJoinSession()
        {
            _activeUser = new User {
                Id = RandomGenerators.GenerateRandomId(), Name = _userName
            };
            var request = new StartJoinSessionRequest {
                SessionId = SessionId, User = _activeUser
            };

            //Call Start Or Join
            var session = await Http.PostJsonAsync <Session>("Session/startOrJoin", request);

            var action = new LoadSessionAction(_activeUser, session);

            Dispatcher.Dispatch(action);

            NavManager.NavigateTo($"/activeSession/{SessionState.Value.Session.Id}");
        }