Пример #1
0
        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 }));
            }
        }
Пример #2
0
        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 }));
            }
        }