using EnertechWebAPI.Data; using EnertechWebAPI.Interfaces; using EnertechWebAPI.Responses; using EnertechWebAPI.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; namespace EnertechWebAPI.Controllers { [Authorize] [Route("api/[controller]")] [ApiController] public class TrainingController : BaseApiController { private readonly ITrainingService trainingService; public TrainingController(ITrainingService trainingService) { this.trainingService = trainingService; } [HttpGet] public async Task Get() { var getTrainingResponse = await trainingService.GetTraining(UserID); if (!getTrainingResponse.Success) { return UnprocessableEntity(getTrainingResponse); } var trainingResponse = getTrainingResponse.UserTrainings.ConvertAll(o => new UserTrainingResponse { TrainingId = o.TrainingId, TrainingCredits = o.TrainingCredits, TrainingName = o.TrainingName, Completed = o.Completed, takeTraining = o.takeTraining, userId = UserID }); return Ok(trainingResponse); } [HttpPut("{trainingId}")] public async Task Put(int trainingId) { var putTrainingResponse = await trainingService.PutTraining(UserID, trainingId); if (!putTrainingResponse.Success) { return UnprocessableEntity(putTrainingResponse); } return Ok(putTrainingResponse); } } }