public void CreateOrUpdate(PlayerBindingModel model) { using (var context = new Database()) { Player element = context.Players.FirstOrDefault(rec => rec.PlayerName == model.PlayerName && rec.Id != model.Id); if (element != null) { //название throw new Exception("Уже есть игрок с таким названием"); } if (model.Id.HasValue) { element = context.Players.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Player(); context.Players.Add(element); } element.PlayerName = model.PlayerName; element.DateDeath = model.DateDeath; element.Score = model.Score; element.Type = model.Type; element.GameId = model.GameId; context.SaveChanges(); } }
public ActionResult Edit(PlayerBindingModel model) { if (ModelState.IsValid) { var player = this.db.Players.Find(model.Id); player = Mapper.Map <PlayerBindingModel, Player>(model); this.db.Players.AddOrUpdate(a => a.Id, player); this.db.SaveChanges(); player = this.db.Players.Find(model.Id); var country = this.db.Countries.Find(model.CountryId); player.Country = country; this.db.Entry(player.Country).State = EntityState.Modified; var city = this.db.Cities.Find(model.CityId); player.City = city; this.db.Entry(player.City).State = EntityState.Modified; var team = this.db.Teams.Find(model.TeamId); player.Team = team; this.db.Entry(player.Team).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Create(PlayerBindingModel bind) { if (this.ModelState.IsValid) { var player = Mapper.Map <PlayerBindingModel, Player>(bind); var country = this.db.Countries.Find(bind.CountryId); player.Country = country; var city = this.db.Cities.Find(bind.CityId); player.City = city; var team = this.db.Teams.Find(bind.TeamId); player.Team = team; this.db.Players.Add(player); this.db.SaveChanges(); return(this.RedirectToAction("Index")); } var countries = this.db.Countries.ToList(); var teams = this.db.Teams.ToList(); var countryModels = Mapper.Map <IEnumerable <Country>, IEnumerable <CountryBindingModel> >(countries); var teamModels = Mapper.Map <IEnumerable <Team>, IEnumerable <TeamBindingModel> >(teams); var cities = this.db.Cities.ToList(); var citiesModel = Mapper.Map <IEnumerable <City>, IEnumerable <CityBindingModel> >(cities); var bindingModel = new PlayerBindingModel { AvailableCountries = countryModels, AvailableTeams = teamModels, AvailableCities = citiesModel }; return(View(bindingModel)); }
/// <summary> /// validates entry retruned by form then sends /// request to the LudoAPI with info to start an ew game /// </summary> /// <param name="players"></param> /// <returns>Eitehr return an index view if /// validation fails along with error messages /// or redirect to Game view</returns> public IActionResult CreateGame(PlayerBindingModel players) { if (!ModelState.IsValid) { return(View("CreateGame", players)); } List <Player> addedPlayers = _extractor.AddedPlayers(players); int gameID; try { gameID = _ludoProccessor.CreateNewGame(); _log.LogInformation("New game Created with id: {gameId}.", gameID); } catch { _log.LogError("Connection to API Lost"); // Logging info return(View("TemporarErrorPage")); } foreach (var p in addedPlayers) { _ludoProccessor.AddNewPalyer(gameID, p.Name, p.PlayerColor); } _ludoProccessor.StartGame(gameID); var model = CreateGameViewModel(gameID); return(View("Game", model)); }
public IActionResult Register([FromBody] PlayerBindingModel player) { string ipAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString(); bool isRegistered = _playerService.RegisterPlayer(player.Username, ipAddress); if (isRegistered) { return(Ok(player)); } return(BadRequest(new { message = "Username already exists." })); }
public void Delete(PlayerBindingModel model) { using (var context = new Database()) { Player element = context.Players.FirstOrDefault(rec => rec.Id == model.Id); if (element != null) { context.Players.Remove(element); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public ActionResult Create() { var countries = this.db.Countries.ToList(); var teams = this.db.Teams.ToList(); var countryModels = Mapper.Map <IEnumerable <Country>, IEnumerable <CountryBindingModel> >(countries); var teamModels = Mapper.Map <IEnumerable <Team>, IEnumerable <TeamBindingModel> >(teams); var cities = this.db.Cities.ToList(); var citiesModel = Mapper.Map <IEnumerable <City>, IEnumerable <CityBindingModel> >(cities); var bindingModel = new PlayerBindingModel { AvailableCountries = countryModels, AvailableTeams = teamModels, AvailableCities = citiesModel }; return(View(bindingModel)); }
public List <PlayerViewModel> Read(PlayerBindingModel model) { using (var context = new Database()) { return(context.Players .Where(rec => model == null || rec.Id == model.Id || (model.DateFrom.HasValue && model.DateTo.HasValue && rec.Game.DateCreate >= model.DateFrom && rec.Game.DateCreate <= model.DateTo)) .Select(rec => new PlayerViewModel { Id = rec.Id, GameId = rec.GameId, PlayerName = rec.PlayerName, DateDeath = rec.DateDeath, Type = rec.Type, Score = rec.Score }) .ToList()); } }