Пример #1
0
        /// <summary>Revisa el objeto jugador en busca de inconsistencias.</summary>
        /// <param name="jugador">Un jugador.</param>
        /// <returns>El resultado de la validacion</returns>
        /// <exception cref="FormatException">
        /// El objeto contiene campos vacios
        /// El correo no cumple con los criterios: " + jugador.Correo
        /// </exception>
        private void CheckObjectJugador(IRegisterService.Jugador jugador)
        {
            ValidarCampos validarCampos = new ValidarCampos();

            if (jugador.Correo == string.Empty || jugador.Nombre == string.Empty || jugador.Password == string.Empty || jugador.Username == string.Empty)
            {
                throw new FormatException("El jugador tiene campos vacios");
            }
            else if (validarCampos.ValidarCorreo(jugador.Correo) == ValidarCampos.ResultadosValidacion.Correoinválido)
            {
                throw new FormatException("El correo no tiene un formato válido" + jugador.Correo);
            }
        }
Пример #2
0
        /// <summary>Añade un usuario a la base de datos.</summary>
        /// <param name="jugador">El jugador.</param>
        /// <returns>El resultado de la operacion</returns>
        /// <exception cref="EntityException">En caso de que ocurra un error en la base de datos</exception>

        public DBOperationResult.AddResult AddUser(IRegisterService.Jugador jugador)
        {
            DBOperationResult.AddResult result;
            try
            {
                CheckObjectJugador(jugador);
            }
            catch (FormatException)
            {
                result = DBOperationResult.AddResult.NullObject;
                return(result);
            }

            DataAccess.ModelContainer container = new ModelContainer();
            ICollection <Jugador>     usuarios  = new List <Jugador>
            {
                new Jugador {
                    Nombre         = jugador.Nombre,
                    Correo         = jugador.Correo,
                    Elo            = "",
                    PuntuaciónAlta = 0,
                    Ranking        = new Ranking
                    {
                        Posicion = 0
                    },
                    Usuario = new Usuario {
                        Username     = jugador.Username,
                        Password     = jugador.Password,
                        Confirmación = "False",
                        Código       = int.Parse(jugador.Código)
                    }
                },
            };

            foreach (var usuario in usuarios)
            {
                container.JugadorSet.Add(usuario);
            }
            try
            {
                container.SaveChanges();
                result = DBOperationResult.AddResult.Success;
            }
            catch (EntityException)
            {
                result = DBOperationResult.AddResult.SQLError;
            }


            return(result);
        }
Пример #3
0
        public void AddUserTestNoConection()
        {
            Pacman_Sevices.Services services = new Services();
            Pacman_Sevices.IRegisterService.Jugador jugador = new IRegisterService.Jugador();
            System.Random generator = new System.Random();
            HashPass      hashPass  = new HashPass();

            jugador.Correo   = "*****@*****.**";
            jugador.Nombre   = "Arturo";
            jugador.Username = "******";
            jugador.Password = hashPass.HashPassword("ElreyOtak02");
            jugador.Código   = generator.Next(0, 999999).ToString("D6");
            Assert.AreEqual(DBOperationResult.AddResult.SQLError, services.AddUser(jugador));
        }
Пример #4
0
        public void SerarchInvalidUserTest()
        {
            Pacman_Sevices.Services services = new Services();
            Pacman_Sevices.IRegisterService.Jugador jugador = new IRegisterService.Jugador();
            System.Random generator = new System.Random();
            HashPass      hashPass  = new HashPass();

            jugador.Correo   = "*****@*****.**";
            jugador.Nombre   = "Arturo";
            jugador.Username = "";
            jugador.Password = hashPass.HashPassword("ElreyOtak02");
            jugador.Código   = generator.Next(0, 999999).ToString("D6");
            Assert.AreEqual(DBOperationResult.AddResult.NullObject, services.SerachUserInDB(jugador));
        }
Пример #5
0
        /// <summary>Busca un jugador en la base de datos.</summary>
        /// <param name="jugador">El jugador.</param>
        /// <returns>El resultado de la operacion</returns>
        /// <exception cref="EntityException">En caso de que ocurra un error en la base de datos</exception>
        public DBOperationResult.AddResult SerachUserInDB(IRegisterService.Jugador jugador)
        {
            DBOperationResult.AddResult result;
            try
            {
                CheckObjectJugador(jugador);
            }
            catch (FormatException)
            {
                result = DBOperationResult.AddResult.NullObject;
                return(result);
            }
            ModelContainer        container = new ModelContainer();
            ICollection <Jugador> Jugadores = new List <Jugador>();

            try
            {
                foreach (var player in container.JugadorSet)
                {
                    if (player.Usuario.Username == jugador.Username || player.Correo == jugador.Correo)
                    {
                        Jugadores.Add(player);
                    }
                }
            }
            catch (EntityException)
            {
                result = DBOperationResult.AddResult.SQLError;
                return(result);
            }
            if (Jugadores.Any())
            {
                result = DBOperationResult.AddResult.ExistingRecord;
            }
            else
            {
                result = DBOperationResult.AddResult.Success;
            }

            return(result);
        }