public Task <IActionResult> Create([FromBody] CreateMatch match) { return(_mediator.Try(match) .OnSuccess(payload => Ok()) .OnFailure(result => BadRequest()) .Send()); }
public ValidationResult Create(CreateMatch create) { ValidationResult validation = new ValidationResult(); /* * if (!JsonOperation.IsJsonFormat(create.GameData)) * { * validation.AddError(ValidationKey.MatchNoJsonFormatGameData); * }*/ if (create.UserIdList == null) { validation.AddError(ValidationKey.MatchNoUsers); } else { foreach (var userId in create.UserIdList) { if (!context.Users.Any(u => u.UserId == userId)) { validation.AddError(ValidationKey.MatchNoUser, userId.ToString()); } } } return(validation); }
public MatchServiceResponse Create(CreateMatch create) { ValidationResult validate = validator.Create(create); if (!validate.IsSucces) { return(new MatchServiceResponse(ServiceRespondStatus.Error, validate.ErrorList, null)); } Match match = new Match(); match.GameTypeId = (int)create.GameType; match.DateStart = DateTime.Now; match.GameData = null; match.MatchUsers = new List <MatchUser>(); foreach (int user in create.UserIdList) { match.MatchUsers.Add(new MatchUser() { UserId = user, MatchResultId = (int)Enums.MatchResults.InProgress }); } this.context.Matches.Add(match); this.context.SaveChanges(); //Uzupełnić dane o Userze foreach (var matchUser in match.MatchUsers) { matchUser.User = this.context.Users.First(f => f.UserId == matchUser.UserId); //Dopisać tą funkcję do servicu } return(new MatchServiceResponse(match)); }
public void onGUI() { try { switch (sceneLoader.current) { case SceneLoaderService.Scene.scGameMenu: // Scene0 - Splash Splash.Draw(); break; case SceneLoaderService.Scene.scCreateMatch: // Scene1 - Wybor Mapy CreateMatch.Draw(); break; case SceneLoaderService.Scene.scPlay: // Scene3 - Play GamePlay.Draw(); break; } ExceptionHandler.drawErrorWindow(); } catch (Exception e) { ExceptionHandler.catchException(e); } }
public async Task <IActionResult> PostMatch([FromBody] CreateMatch match, int userId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int matchId = await _matchService.CreateAsyncMatch(match, userId); return(Created($"/Match/GetMatch/{matchId}", matchId)); }
// Revision Entity Framework Core public async Task <int> CreateMatch(CreateMatch input) { var newMatch = ObjectMapper.Map <Match>(input); //newMatch.State = MatchState.Open; // have automapper figure it out await _matchRepository.SaveChanges(newMatch); //var matchState = await _matchRepository.GetAsync(newMatch); //matchState.State = MatchState.Open; return(newMatch); }
public async Task <int> CreateAsyncMatch(CreateMatch matchData, int userId) //metoda tworzaca nowy mecz { var user = await _authRepository.UserAccount(userId); //zera to wynik meczu zadeklarowane z gory var match = new Matchh(matchData.OpponentTeam, matchData.MatchDate, matchData.Place); match.user = user; int matchId = await _matchRepository.AddAsyncMatch(match, userId); return(matchId); }
public void createMatch(MatchMode matchMode, int nbRounds, int timeLimit) { try { CreateMatch createMatch = new CreateMatch(nbRounds, timeLimit, matchMode); this._socketHandler.socket.Emit("create_match", JsonConvert.SerializeObject(createMatch)); this.userdata.matchMode = matchMode; } catch (Exception) { _events.PublishOnUIThread(new appWarningEvent("Select an option from ALL the fields to create a match.")); } }
public void Post([FromBody] CreateMatch SaveMatch) { var home = _dbContext.Clubs.Where(x => x.ShortCode == SaveMatch.HomeTeam).FirstOrDefault(); var away = _dbContext.Clubs.Where(x => x.ShortCode == SaveMatch.AwayTeam).FirstOrDefault(); var match = new Models.Match() { Id = Guid.NewGuid(), HomeTeam = home, AwayTeam = away, KickOff = SaveMatch.KickOff }; _dbContext.Add(match); _dbContext.SaveChanges(); }
async Task ProcessAsync(HttpListenerContext ctx) { if (ctx.Request.UserAgent != "osu!") { return; } if (ctx.Request.Url.AbsolutePath.StartsWith("/web/")) { return; } if (string.IsNullOrEmpty(ctx.Request.Headers["osu-token"])) { await Login.Handle(ctx); return; } Player p = Global.FindPlayer(ctx.Request.Headers["osu-token"]); if (p == null) // if they arent part of the player collection, force them to relogin { ctx.Response.StatusCode = 403; ctx.Response.OutputStream.Write(Packets.Packets.SingleIntPacket(5, -5)); ctx.Response.Close(); return; } using (MemoryStream ms = new MemoryStream()) using (BinaryReader r = new BinaryReader(ms)) { await ctx.Request.InputStream.CopyToAsync(ms); ms.Position = 0; while (ms.Position < ctx.Request.ContentLength64 - 6) { short Id = r.ReadInt16(); ms.Position += 1; int Length = r.ReadInt32(); if (ms.Position + Length > ctx.Request.ContentLength64) { break; } if (Id == 68 || Id == 79) { ms.Position += Length; continue; } byte[] Data = r.ReadBytes(Length); switch (Id) { case 4: p.Ping = DateTime.Now.Ticks; break; case 0: StatusUpdate.Handle(p, Data); break; case 1: IrcMessage.Handle(p, Data); break; case 2: Player.RemovePlayer(p); break; case 3: await StatsUpdateRequest.Handle(p); break; case 16: StartSpectating.Handle(p, Data); break; case 17: StopSpectating.Handle(p); break; case 18: SpectatorFrames.Handle(p, Data); break; case 25: IrcMessage.HandlePrivate(p, Data); break; case 29: Global.LeaveLobby(p); break; case 30: Global.JoinLobby(p); break; case 31: CreateMatch.Handle(p, Data); break; case 32: JoinMatch.Handle(p, Data); break; case 33: LeaveMatch.Handle(p); break; case 38: ChangeSlot.Handle(p, Data); break; case 39: MatchReady.Handle(p); break; case 40: SlotLock.Handle(p, Data); break; case 41: MatchSettings.Handle(p, Data); break; case 44: MatchStart.Handle(p, Data); break; case 49: MatchFinished.Handle(p); break; case 51: ModsChange.Handle(p, Data); break; case 52: MatchLoaded.Handle(p); break; case 54: NoBeatmap.Handle(p); break; case 55: MatchReady.Handle(p); break; case 56: MatchFailed.Handle(p); break; case 59: HasBeatmap.Handle(p); break; case 60: MatchSkip.Handle(p); break; case 63: ChannelJoinEvent.Handle(p, Data); break; case 70: ChangeHost.Handle(p, Data); break; case 73: AddFriend.Handle(p, Data); break; case 74: RemoveFriend.Handle(p, Data); break; case 77: ChangeTeam.Handle(p, Data); break; case 78: ChannelLeaveEvent.Handle(p, Data); break; case 85: StatsUpdateRequest.Handle(p, Data); break; case 90: MatchChangePassword.Handle(p, Data); break; default: Log.LogFormat($"%#FFFF%Unhandled Packet {Id} with {Length}"); break; } } } if (p.StreamLength != 0) { p.StreamCopyTo(ctx.Response.OutputStream); } ctx.Response.Close(); }
public async Task CreateMatch(CreateMatch input) { await _matchRepository.InsertAsync(ObjectMapper.Map <Match>(input)); }
public void Create() { //Arrange var userData = new List <User> { new User { Email = "[email protected]", Name = "IhaveName1", Password = "******", UserId = 1 }, new User { Email = "[email protected]", Name = "IhaveName2", Password = "******", UserId = 2 }, new User { Email = "[email protected]", Name = "IhaveName3", Password = "******", UserId = 3 }, new User { Email = "[email protected]", Name = "IhaveName4", Password = "******", UserId = 4 } }.AsQueryable(); var mockUserSet = new Mock <DbSet <User> >(); mockUserSet.SetupData(userData); var mockContext = new Mock <IBoardGameDbContext>(); mockContext.Setup(s => s.Users).Returns(mockUserSet.Object); IMatchServiceValidation serviceValidation = new MatchServiceValidation(new MatchValidation(), mockContext.Object); CreateMatch createMatchOk = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 2 } }; CreateMatch createMatchOkMultipleUser = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 2, 3, 4 } }; CreateMatch createMatchNoGameData = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 2 } }; CreateMatch createMatchNoUserList = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = null }; CreateMatch createMatchNoUserInDB = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 6 } }; //Act var resultOk = serviceValidation.Create(createMatchOk); var resultOkMultipleUser = serviceValidation.Create(createMatchOk); var resultNoGameData = serviceValidation.Create(createMatchNoGameData); var resultNoUserList = serviceValidation.Create(createMatchNoUserList); var resultMatchNoUserInDB = serviceValidation.Create(createMatchNoUserInDB); //Assert Assert.AreEqual(resultOk.IsSucces, true); Assert.AreEqual(resultOk.ErrorList.Count, 0); Assert.AreEqual(resultOkMultipleUser.IsSucces, true); Assert.AreEqual(resultOkMultipleUser.ErrorList.Count, 0); /* * Assert.AreEqual(resultNoGameData.IsSucces, false); * Assert.AreEqual(resultNoGameData.ErrorList.Any(a=> a.Key == ValidationKey.MatchNoJsonFormatGameData.ToString()), true); * Assert.AreEqual(resultNoGameData.ErrorList.Count, 1); */ Assert.AreEqual(resultNoUserList.IsSucces, false); Assert.AreEqual(resultNoUserList.ErrorList.Any(a => a.Key == ValidationKey.MatchNoUsers.ToString()), true); Assert.AreEqual(resultNoUserList.ErrorList.Count, 1); Assert.AreEqual(resultMatchNoUserInDB.IsSucces, false); Assert.AreEqual(resultMatchNoUserInDB.ErrorList.Any(a => a.Key == ValidationKey.MatchNoUser.ToString() && a.Value.Contains("6")), true); Assert.AreEqual(resultMatchNoUserInDB.ErrorList.Count, 1); }