示例#1
0
        public IActionResult GetTraining(EntityInputDto input)
        {
            this.Logger.LogInformation($"Retrieving training '{input.Id}'");

            // TODO - Move to service?
            var training = this.trainingRepository.GetById(input.Id);

            if (training == null)
            {
                //
                return(BadRequest(new Result <TrainingDetailDto>($"Could not find training '{input.Id}'")));
            }

            var result = new TrainingDetailDto
            {
                Id        = training.Id,
                SeasonId  = training.SeasonID,
                TeamId    = training.TeamID,
                Date      = training.TrainingDate,
                IsBonus   = training.IsBonus,
                Attendees = training.TrainingPlayers
                            .OrderBy(tp => tp.Player.LastName)
                            .ThenBy(tp => tp.Player.FirstName)
                            .Select(tp => new PlayerListDto
                {
                    PlayerId       = tp.PlayerID,
                    FirstName      = tp.Player.FirstName,
                    LastNamePrefix = tp.Player.LastNamePrefix,
                    LastName       = tp.Player.LastName
                })
                            .ToList()
            };

            return(Ok(new Result <TrainingDetailDto>(result)));
        }
示例#2
0
        public async Task <IActionResult> DeleteTraining(EntityInputDto input)
        {
            this.Logger.LogInformation($"Delete training '{input.Id}'");
            try
            {
                await this.trainingRepository.Delete(input.Id);

                return(this.Ok(new Result()));
            }
            catch (Exception ex)
            {
                this.Logger.LogError($"Failed to delete training '{input.Id}'. Exception: {ex}");
                return(this.BadRequest(new Result("Failed to delete training")));
            }
        }