/// <summary> /// Métdodo que permite guardar en la base de datos la última actualización de un /// juego /// </summary> /// <param name="idgame">identificador del juego</param> public void SaveLastUpdate(int idgame) { try { using (var dataBase = new EntityModelContainer()) { var gameUpdate = dataBase.GameSet.Where(u => u.Id == idgame).FirstOrDefault(); if (gameUpdate.Id != 0) { gameUpdate.Last_update = DateTime.Now; try { dataBase.SaveChanges(); } catch (DbEntityValidationException ex) { Logger.log.Warn("SaveLastUpdate DataBase" + ex); } } } }catch (Exception ex) { Logger.log.Error("Funtion SaveLastUpdate: " + ex.Message); } }
/// <summary> /// Método que obtiene una lista de Historial de los usuarios /// </summary> /// <returns>regresa una lista de los historiales registrados</returns> public List <Record> GetRecords() { try { using (var dataBase = new EntityModelContainer()) { return(dataBase.RecordSet.Select(u => new Record { Id = u.Id, Mult_best_score = u.Mult_best_score, Mult_games_played = u.Mult_games_played, Mult_games_won = u.Mult_games_won, Story_best_score = u.Story_best_score, Account = new Account { Id = u.Id, User = u.Account.User, Password = u.Account.Password, Registration_date = u.Account.Registration_date, Key_confirmation = u.Account.Key_confirmation } }).OrderByDescending(x => x.Story_best_score).ToList()); } }catch (Exception ex) { Logger.log.Error(ex); return(null); } }
public ActionResult About(String token) { if (token == null) { ViewBag.Title = "Registrate a Lisman"; ViewBag.Message = "Descarga LISMAN y unite a la experiencia Multijugador"; return(View()); } int result = -1; try { using (var dataBase = new EntityModelContainer()) { int exist = dataBase.AccountSet.Where(u => u.Key_confirmation == token).Count(); if (exist > 0) { var accountValidate = dataBase.AccountSet.Where(u => u.Key_confirmation == token).FirstOrDefault(); accountValidate.Key_confirmation = " "; result = dataBase.SaveChanges(); } } } catch (Exception ex) { ViewBag.Message = ex.Message; } if (result == -1) { ViewBag.Message = "No se pudo confirmar tu registro."; } else { ViewBag.Message = "Se confirmo tu registro con Éxito"; } return(View()); }
/// <summary> /// Método que valida si un nombre de ususario ya se encuentra registrado /// </summary> /// <param name="username"></param> /// <returns>regresa un valor true si es que existe</returns> public bool UserNameExists(string username) { try { using (var dataBase = new EntityModelContainer()) { int exists = dataBase.AccountSet.Where(u => u.User == username).Count(); if (exists > 0) { return(true); } } } catch (Exception ex) { Logger.log.Error(ex); } return(false); }
/// <summary> /// Método que evalua si existe un email igual registrado /// </summary> /// <param name="emailAdress">email que sera consultado</param> /// <returns>regresa un valor true si existe el email</returns> public bool EmailExists(string emailAdress) { try { using (var dataBase = new EntityModelContainer()) { int exists = dataBase.PlayerSet.Where(u => u.Email == emailAdress).Count(); if (exists > 0) { return(true); } } } catch (Exception ex) { Logger.log.Error(ex); } return(false); }
/// <summary> /// Método que obtiene la Account de un jugador por su nombre /// </summary> /// <param name="user">nombre de usuario del cliente</param> /// <returns>Regresa un objeto de tipo Account</returns> public Account GetAccountByUser(string user) { try { using (var dataBase = new EntityModelContainer()) { return(dataBase.AccountSet.Where(u => u.User == user).Select(u => new Account { Id = u.Id, User = u.User, Password = u.Password, Registration_date = u.Registration_date, }).FirstOrDefault()); } }catch (Exception ex) { Logger.log.Error(ex); return(null); } }
/// <summary> /// Método que permite al Cliente crear un nuevo juego /// </summary> /// <param name="user">nombre de usuario del jugador</param> /// <returns>Regresa el identificador del juego que creó</returns> public int CreateGame(string user) { int idgame = 0; try { using (var dataBase = new EntityModelContainer()) { var newGame = new DataAccess.Game { Creation_date = DateTime.Now, Status = true, Members = new List <DataAccess.Account>(), Last_update = DateTime.Now }; try { dataBase.GameSet.Add(newGame); dataBase.SaveChanges(); } catch (DbEntityValidationException ex) { Logger.log.Error(ex); return(-1); } idgame = dataBase.GameSet.Max(u => u.Id); } } catch (Exception ex) { Logger.log.Error("Funtion CreateGame: " + ex.Message); } var listPlayer = new List <String>(); listGamesOnline.Add(idgame, listPlayer); listGamesOnline[idgame].Add(user); Console.WriteLine("Game created by {0} ID:{1}, at:{2}", user, idgame, DateTime.Now); return(idgame); }
/// <summary> /// Método que permite guardar la información del juego en la BD /// </summary> /// <param name="idgame">identificador del juego</param> /// <param name="userWinner">nombre de usuario ganador</param> private void SaveGame(int idgame, String userWinner) { try { using (var dataBase = new EntityModelContainer()) { var gameUpdate = dataBase.GameSet.Where(u => u.Id == idgame).FirstOrDefault(); if (gameUpdate.Id != 0) { gameUpdate.Last_update = DateTime.Now; gameUpdate.Status = false; gameUpdate.Game_over = DateTime.Now; foreach (KeyValuePair <int, InformationPlayer> players in multiplayerGameInformation[idgame].lismanUsers) { var account = dataBase.AccountSet.Where(u => u.User == players.Value.userLisman).FirstOrDefault(); account.Record.Mult_best_score = players.Value.scoreLisman; account.Record.Mult_games_played += 1; if (players.Value.userLisman == userWinner) { account.Record.Mult_games_won += 1; } gameUpdate.Members.Add(account); } try { dataBase.SaveChanges(); } catch (DbEntityValidationException ex) { Logger.log.Warn("SaveLastUpdate DataBase" + ex); } } } } catch (Exception ex) { Logger.log.Error("Funtion SaveLastUpdate: " + ex.Message); } }
/// <summary> /// Métododo que permite iniciar sesion en el sistema /// </summary> /// <param name="user">nombre del ususario del jugador</param> /// <param name="password">contraseña del usuario del sistema</param> /// <returns></returns> public Account LoginAccount(string user, string password) { var newAccount = new Account(); try { using (var dataBase = new EntityModelContainer()) { int exists = dataBase.AccountSet.Where(u => u.User == user && u.Password == password).Count(); if (exists > 0) { newAccount = dataBase.AccountSet.Where(u => u.User == user && u.Password == password).Select(u => new Account { Id = u.Id, User = u.User, Password = u.Password, Registration_date = u.Registration_date, Key_confirmation = u.Key_confirmation }).FirstOrDefault(); if (newAccount.Id > 0) { if (!logginsConnections.ContainsKey(user)) { logginsConnections.Add(user, null); } Console.WriteLine("User: {0} Connected at: {1}", newAccount.User, DateTime.Now); } return(newAccount); } else { newAccount.Id = 0; return(newAccount); } } } catch (Exception ex) { Logger.log.Error(ex.Message); newAccount.Id = -1; return(newAccount); } }
/// <summary> /// Método que permite al Cliente registrar una nueva cuenta /// </summary> /// <param name="account">objeto de tipo cuenta que contiene la informacion del jugador</param> /// <returns>regresa un valor int de 1 si la operacion fue exitosa</returns> public int AddAccount(Account account) { try { using (var dataBase = new EntityModelContainer()) { var newAccount = new DataAccess.Account { User = account.User, Password = account.Password, Registration_date = account.Registration_date, Key_confirmation = account.Key_confirmation, Player = new DataAccess.Player { First_name = account.Player.First_name, Last_name = account.Player.Last_name, Email = account.Player.Email }, Record = new DataAccess.Record { Mult_best_score = 0, Mult_games_played = 0, Mult_games_won = 0, Story_best_score = 0 } }; try { dataBase.AccountSet.Add(newAccount); return(dataBase.SaveChanges()); }catch (DbEntityValidationException ex) { Logger.log.Error(ex); return(-1); } } }catch (Exception ex) { Logger.log.Error(ex); return(-1); } }
private void button1_Click(object sender, EventArgs e) { EntityModelContainer container = new EntityModelContainer(); MessageBox.Show(container.MainEntity1.First().Name); }