public async Task <IActionResult> PostPronostic([FromBody] Pronostic pronostic) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var identity = HttpContext.User.Identity as ClaimsIdentity; if (!CheckClaims.CheckUser(identity, pronostic.User.Id)) { return(BadRequest("It's not you :)")); } var isAlreadyBet = _context.Pronostic.Any(p => p.Match.Id == pronostic.Match.Id && p.User.Id == pronostic.User.Id); if (isAlreadyBet) { return(BadRequest("A bet already exists for this match/user")); } if (pronostic.Match.Date <= DateTime.Now) { return(BadRequest("Cannot bet on already played match")); } _context.Entry(pronostic.User).State = EntityState.Unchanged; _context.Entry(pronostic.Match).State = EntityState.Unchanged; _context.Pronostic.Add(pronostic); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPronostic", new { id = pronostic.Id }, pronostic)); }
public async Task <IActionResult> GetUser([FromRoute] string id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var identity = HttpContext.User.Identity as ClaimsIdentity; if (!CheckClaims.CheckUser(identity, id)) { return(BadRequest("It's not you :)")); } var user = await _context.User.SingleOrDefaultAsync(m => m.Id == id); if (user == null) { return(NotFound()); } var result = _mapper.Map <UserViewModel>(user); return(Ok(result)); }
public async Task <IActionResult> PutPronostic([FromRoute] long id, [FromBody] Pronostic pronostic) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != pronostic.Id) { return(BadRequest()); } var identity = HttpContext.User.Identity as ClaimsIdentity; if (!CheckClaims.CheckUser(identity, pronostic.User.Id)) { return(BadRequest("It's not you :)")); } if (pronostic.Match.Date <= DateTime.Now) { return(BadRequest("Cannot bet on already played match")); } _context.Entry(pronostic).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PronosticExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutUser([FromRoute] string id, [FromBody] RegistrationViewModel user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != user.Id) { return(BadRequest()); } var identity = HttpContext.User.Identity as ClaimsIdentity; if (!CheckClaims.CheckUser(identity, id)) { return(BadRequest("It's not you :)")); } var dbUser = await _userManager.FindByIdAsync(id); dbUser.FirstName = user.FirstName; dbUser.LastName = user.LastName; var result = await _userManager.UpdateAsync(dbUser); if (!result.Succeeded) { return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState))); } result = await _userManager.RemovePasswordAsync(dbUser); if (!result.Succeeded) { return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState))); } result = await _userManager.AddPasswordAsync(dbUser, user.Password); if (!result.Succeeded) { return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState))); } return(NoContent()); }
public IActionResult GetTodayMatchesWithPronosticFromUser([FromRoute] string id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var identity = HttpContext.User.Identity as ClaimsIdentity; if (!CheckClaims.CheckUser(identity, id)) { return(BadRequest("It's not you :)")); } var result = _matchDAO.GetTodayMatchesWithPronosticFromUser(id); if (result == null) { return(NotFound()); } return(Ok(result)); }