public IActionResult Create([FromBody] Athlete item) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (athleteRepository.GetByEmail(item.Email) != null) { return(BadRequest("Email is already in use: " + item.Email)); } item.Id = 0; item.Status = AthleteStatusType.Regular; athleteRepository.Add(item); athleteRepository.SaveChanges(); return(Ok()); } catch (Exception e) { return(StatusCode(500, new { error = e.Message })); } }
public IActionResult Create([FromBody] CreateAthleteDto item) { try { Result <AthleteName> athleteNameRequest = AthleteName.Create(item.Name); Result <Email> emailRequest = Email.Create(item.Email); Result result = Result.Combine(athleteNameRequest, emailRequest); if (result.IsFailure) { return(BadRequest(result.Error)); } if (athleteRepository.GetByEmail(emailRequest.Value) != null) { return(BadRequest("Email is already in use: " + item.Email)); } var athlete = new Athlete(athleteNameRequest.Value, emailRequest.Value); athleteRepository.Add(athlete); athleteRepository.SaveChanges(); return(Ok()); } catch (Exception e) { return(StatusCode(500, new { error = e.Message })); } }