public async Task <IHttpActionResult> SignInOrRegister(User user) { using (var db = new Adriana42Context()) { var repository = new Repository <Models.User>(db); var usr = repository.Find(x => x.UserName == user.Username).FirstOrDefault(); if (usr == null) { usr = new Models.User { UserName = user.Username, Password = user.Password }; repository.Add(usr); } db.SaveChanges(); return(Ok(new SignInSuccessResponse { TokenId = usr.Id.ToString() })); } }
public IHttpActionResult Bet(int tournamentId, int marketId, int selectionId) { using (var db = new Adriana42Context()) { var repository = new Repository <Models.Bet>(db); var bet = new Models.Bet { Date = DateTime.UtcNow, TournamentId = tournamentId, MarketId = marketId, SelectionId = selectionId, UserId = UserId }; repository.Add(bet); db.SaveChanges(); return(Ok()); } }
public IHttpActionResult Put([FromBody] ResultRequest request) { using (var db = new Adriana42Context()) { var selectionsRepository = new Repository <Models.Selection>(db); var selection = selectionsRepository.GetById(request.SelectionId); if (selection == null) { return(NotFound()); } selection.Result = request.Result; var repository = new Repository <Models.Bet>(db); var bets = repository.Find(b => b.SelectionId == request.SelectionId).ToList(); bets.ForEach(b => b.Result = request.Result); db.SaveChanges(); return(Ok()); } }