Beispiel #1
0
        // Pedido ao servidor do número atual de jogos do utilziador, portador do id de sessão atual, que será passado como parametro.
        private void AuthView_GRPCGetGames()
        {
            try
            {
                // Modelo com as informações do pedido para o servidor tratar.
                UserGetGamesBySessionIdLookupModel req = new UserGetGamesBySessionIdLookupModel
                {
                    SessionID = Program.AuthUser.SessionID
                };

                // Comunicação de forma sincrona com o servidor.
                UserGetGamesBySessionIdModel outcome = AuthClient.GetGamesBySessionId(req);

                // No caso de ser válido, o número de jogos é atualizado na view através da chamado do método SetGames da AuthView.
                if (outcome.Games != -1)
                {
                    Program.AuthView.SetGames(outcome.Games);
                }
            }
            catch (Grpc.Core.RpcException)
            {
                Program.ConnectController.ConnectionError();
                return;
            }
        }
Beispiel #2
0
        public override Task <UserGetGamesBySessionIdModel> GetGamesBySessionId(UserGetGamesBySessionIdLookupModel request, ServerCallContext context)
        {
            UserGetGamesBySessionIdModel output = new UserGetGamesBySessionIdModel();

            Models.User u1 = new Models.User();
            u1 = _context.User.FirstOrDefault(u => u.SessionID == request.SessionID);

            if (u1 != null)
            {
                output.Games = u1.GamesToPlay;
            }
            else
            {
                output.Games = -1;
            }

            return(Task.FromResult(output));
        }