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)); } }
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>()); }
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); }
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>()); }
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)); }
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>()); }
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); } }