예제 #1
0
        public async Task <ActionResult> Post([FromBody] CreateTrainingDto createTrainingDto)
        {
            if (!ModelState.IsValid || string.IsNullOrEmpty(createTrainingDto.Name) || createTrainingDto.TrainingEndDate < createTrainingDto.TrainingStartDate)
            {
                return(BadRequest());
            }


            try
            {
                createTrainingDto.TrainingEndDate   = createTrainingDto.TrainingEndDate.ToLocalTime();
                createTrainingDto.TrainingStartDate = createTrainingDto.TrainingStartDate.ToLocalTime();
                await _trainingService.CreateTrainingAsync(createTrainingDto);


                if (!createTrainingDto.Created)
                {
                    return(BadRequest(string.Format(TrainingSaveFailRequestMessage, createTrainingDto.Name)));
                }

                return(Ok(createTrainingDto));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #2
0
        public void CreateTraining_ReturnOkResult()
        {
            var createTrainingDto = new CreateTrainingDto()
            {
                Name = "Test Training4",
                TrainingStartDate = new DateTime(2019, 12, 09),
                TrainingEndDate   = new DateTime(2019, 12, 12)
            };
            var result = _controller.Post(createTrainingDto).Result;

            Assert.That(result, Is.TypeOf <OkObjectResult>());
        }
예제 #3
0
 public async Task <CreateTrainingDto> CreateTrainingAsync(CreateTrainingDto createTrainingDto)
 {
     createTrainingDto.Id      = 4;
     createTrainingDto.Created = true;
     _trainings.Add(new TrainingDto()
     {
         Id   = createTrainingDto.Id,
         Name = createTrainingDto.Name,
         TrainingStartDate = createTrainingDto.TrainingStartDate,
         TrainingEndDate   = createTrainingDto.TrainingEndDate
     });
     return(createTrainingDto);
 }
예제 #4
0
        public void CreateTraining_NameIsNOtSet_ReturnBadResult()
        {
            var createTrainingDto = new CreateTrainingDto()
            {
                TrainingStartDate = new DateTime(2019, 12, 09),
                TrainingEndDate   = new DateTime(2019, 12, 12)
            };



            var result = _controller.Post(createTrainingDto).Result;

            Assert.That(result, Is.TypeOf <BadRequestResult>());
        }
예제 #5
0
        public async Task <IActionResult> CreateTraining(CreateTrainingDto input)
        {
            this.Logger.LogInformation($"Create new training for season '{input.SeasonId}' and team '{input.TeamId}' on date '{input.TrainingDate}'");
            var training = new Training
            {
                TeamID       = input.TeamId,
                SeasonID     = input.SeasonId,
                IsBonus      = input.IsBonus,
                TrainingDate = input.TrainingDate
            };

            await this.trainingRepository.Create(training);

            return(Ok(true));
        }
예제 #6
0
        public void CreateTraining_EndDateLessThanStartDate_ReturnBadResult()
        {
            var createTrainingDto = new CreateTrainingDto()
            {
                Name = "Test Training",
                TrainingStartDate = new DateTime(2019, 12, 09),
                TrainingEndDate   = new DateTime(2019, 12, 01)
            };
            var result = _controller.Post(createTrainingDto).Result;

            // NotFound
            Assert.That(result, Is.TypeOf <BadRequestResult>());

            // NotFound or one of its derivatives
            //Assert.That(result, Is.InstanceOf<NotFound>());
        }
예제 #7
0
        public async Task <CreateTrainingDto> CreateTrainingAsync(CreateTrainingDto createTrainingDto)
        {
            try
            {
                var training = _mapper.Map <Training>(createTrainingDto);
                await _trainingRepository.InsertAsync(training);

                await _trainingRepository.SaveAsync();

                createTrainingDto.Created = true;
                createTrainingDto.Id      = training.Id;
                return(createTrainingDto);
            }
            catch (Exception)
            {
                createTrainingDto.Created = false;
                return(createTrainingDto);
            }
        }