/// <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); } }
/// <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); }
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)); }
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)); }
/// <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); }