예제 #1
0
        public async Task <bool> ActualizarJugador(string partitionKey, Jugador jugador)
        {
            string rowKey   = GetRowKeyByPartitionKey(partitionKey).Result;
            bool   response = false;

            if (string.IsNullOrEmpty(rowKey))
            {
                Console.ForegroundColor = ConsoleColor.Red;
                await Console.Out.WriteLineAsync("EL JUGADOR A MODIFICAR NO EXISTE.");

                Console.ForegroundColor = ConsoleColor.Green; return(response);
            }
            try {
                TableOperation RetrieveOperation = TableOperation.Retrieve <JugadorEntity>(partitionKey, rowKey);
                TableResult    RetrievedResult   = await cloudTableJU.ExecuteAsync(RetrieveOperation);

                JugadorEntity EntityToUpdate = (JugadorEntity)RetrievedResult.Result;
                EntityToUpdate.name     = jugador.name; EntityToUpdate.lastname = jugador.lastname;
                EntityToUpdate.country  = jugador.country; EntityToUpdate.level = jugador.level;
                EntityToUpdate.nopoints = jugador.nopoints; EntityToUpdate.elo = jugador.elo;
                TableOperation UpdateOperation = TableOperation.Replace(EntityToUpdate);
                await cloudTableJU.ExecuteAsync(UpdateOperation); response = true;
            }
            catch (Exception exception) {
                Console.ForegroundColor = ConsoleColor.Red;
                await Console.Out.WriteLineAsync(exception.Message);

                Console.ForegroundColor = ConsoleColor.Green; response = false;
            }
            return(response);
        }
예제 #2
0
        public async Task <Jugador> GetJugador(string partitionKey)
        {
            string  rowKey  = GetRowKeyByPartitionKey(partitionKey).Result;
            Jugador jugador = new Jugador(); if (string.IsNullOrEmpty(rowKey))
            {
                return(jugador);
            }
            TableOperation RetrieveOperation = TableOperation.Retrieve <JugadorEntity>(partitionKey, rowKey);
            TableResult    RetrievedResult   = await cloudTableJU.ExecuteAsync(RetrieveOperation);

            JugadorEntity EntityToRead = (JugadorEntity)RetrievedResult.Result;

            jugador.email    = EntityToRead.PartitionKey; jugador.username = EntityToRead.RowKey;
            jugador.name     = EntityToRead.name; jugador.lastname = EntityToRead.lastname;
            jugador.country  = EntityToRead.country; jugador.level = EntityToRead.level;
            jugador.nopoints = EntityToRead.nopoints; jugador.elo = EntityToRead.elo;
            return(jugador);
        }
예제 #3
0
        public async Task <bool> BorrarJugador(string partitionKey)
        {
            string rowKey   = GetRowKeyByPartitionKey(partitionKey).Result;
            bool   response = false;

            if (string.IsNullOrEmpty(rowKey))
            {
                Console.ForegroundColor = ConsoleColor.Red;
                await Console.Out.WriteLineAsync("EL JUGADOR A ELIMINAR NO EXISTE.");

                Console.ForegroundColor = ConsoleColor.Green; return(response);
            }
            TableQuery <GrupoFraseEntity> tableQuery        = new TableQuery <GrupoFraseEntity>();
            TableContinuationToken        ContinuationToken = new TableContinuationToken();

            foreach (GrupoFraseEntity grupofrase in await cloudTableGF.ExecuteQuerySegmentedAsync(tableQuery, ContinuationToken))
            {
                if (grupofrase.PartitionKey.Equals(partitionKey))
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    await Console.Out.WriteLineAsync("NO SE PUEDE ELIMINAR UN JUGADOR ASOCIADO A UN GRUPO.");

                    Console.ForegroundColor = ConsoleColor.Green; return(response);
                }
            }
            try {
                TableOperation RetrieveOperation = TableOperation.Retrieve <JugadorEntity>(partitionKey, rowKey);
                TableResult    RetrievedResult   = await cloudTableJU.ExecuteAsync(RetrieveOperation);

                JugadorEntity  EntityToDelete  = (JugadorEntity)RetrievedResult.Result;
                TableOperation DeleteOperation = TableOperation.Delete(EntityToDelete);
                await cloudTableJU.ExecuteAsync(DeleteOperation); response = true;
            }
            catch (Exception exception) {
                Console.ForegroundColor = ConsoleColor.Red;
                await Console.Out.WriteLineAsync(exception.Message);

                Console.ForegroundColor = ConsoleColor.Green;
                response = false;
            }
            return(response);
        }
예제 #4
0
        public async Task <bool> CrearJugador(Jugador jugador)
        {
            bool response = false;

            try {
                JugadorEntity jugadorEntity = new JugadorEntity(jugador.email, jugador.username);
                jugadorEntity.name     = jugador.name; jugadorEntity.lastname = jugador.lastname;
                jugadorEntity.country  = jugador.country; jugadorEntity.level = jugador.level;
                jugadorEntity.nopoints = jugador.nopoints; jugadorEntity.elo = jugador.elo;
                TableOperation insertOperation = TableOperation.Insert(jugadorEntity);
                await cloudTableJU.ExecuteAsync(insertOperation); response = true;
            }
            catch (Exception exception) {
                Console.ForegroundColor = ConsoleColor.Red;
                await Console.Out.WriteLineAsync("EL JUGADOR YA EXISTE. MSJ: " + exception.Message);

                Console.ForegroundColor = ConsoleColor.Green;
                response = false;
            }

            return(response);
        }