public async Task <int> Create(ChallengeCreate challengeCreate, User connectedUser) { Challenge newChallenge = new Challenge { Statement = challengeCreate.Statement, Name = challengeCreate.Name, Status = connectedUser.Role == Role.Admin ? Status.Accepted : Status.Waiting, CreatedAt = DateTime.Now, AuthorId = connectedUser.Id }; await this.challengeRepository.Insert(newChallenge); Challenge challenge = await this.challengeRepository.GetByName(newChallenge.Name); return(challenge.Id); }
public async Task <IActionResult> Create(ChallengeCreate newChallenge) { ChallengeCreateValidator validator = new ChallengeCreateValidator(this._challengeService); ValidationResult results = await validator.ValidateAsync(newChallenge); results.AddToModelState(ModelState, "ChallengeCreate"); if (!ModelState.IsValid) { return(BadRequest(this.ModelState)); } int connectedUserId = int.Parse(User.Identity.Name); User connectedUser = await this._userService.Get(int.Parse(User.Identity.Name)); int ChallengeId = await this._challengeService.Create(newChallenge, connectedUser); return(Ok(ChallengeId)); }