using System; using System.Collections.Generic; using System.Net; using System.Web.Http; using Kreta.Ellenorzo.BL.VN.HaziFeladat; using Kreta.Ellenorzo.Domain.VN.HaziFeladat; using Kreta.Ellenorzo.Dto.VN.Exception; using Kreta.Ellenorzo.Dto.VN.HaziFeladat; using Kreta.Ellenorzo.Enums; using Kreta.Ellenorzo.Web.FilterAttributes; using Kreta.Ellenorzo.WebApi.FilterAttributes; using Kreta.Ellenorzo.WebApi.VN.Documentation; using Kreta.Ellenorzo.WebApi.VN.Logic; using Swashbuckle.Examples; using Swashbuckle.Swagger.Annotations; using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter; namespace Kreta.Ellenorzo.WebApi.VN.Controllers { [ApiKeyAuthorization] [IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)] [RoutePrefix(Constants.RoutePrefix + "/Sajat")] [SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))] [SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))] [SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))] [SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))] [SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))] [SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))] [SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))] [SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))] #pragma warning disable S1200 // Classes should not be coupled to too many other classes (Single Responsibility Principle) public class HaziFeladatController : ApiController #pragma warning restore S1200 // Classes should not be coupled to too many other classes (Single Responsibility Principle) { /// <summary> /// Házi feladat entitás lekérdezése /// </summary> /// <param name="uid">Házi feladat Uid filter</param> [HttpGet, Route("HaziFeladatok/{uid}")] [SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.HaziFeladatok, typeof(HaziFeladatDetailResponseDto))] //[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyExampleProvider<HaziFeladatController, HaziFeladatDataListResponseDto>))] [SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))] [SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))] public HaziFeladatDetailResponseDto GetHaziFeladat(string uid) { return ((HaziFeladatFacade)Activator.CreateInstance(typeof(HaziFeladatFacade), FelhasznaloLogic.GetFelhasznalo())).GetHaziFeladat(uid); } /// <summary> /// Házi feladatok lekérdezése határidő alapján /// </summary> [HttpGet, Route("HaziFeladatok")] [SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.HaziFeladatok, typeof(HaziFeladatListResponseDto))] //[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<HaziFeladatController, HaziFeladatListResponseDto>))] [SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))] [SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<HaziFeladatListRequest, HaziFeladatListRequest>))] public HashSet<HaziFeladatListResponseDto> ListHaziFeladat([FromUri] HaziFeladatListRequestDto request) { return ModelToDto(((HaziFeladatFacade)Activator.CreateInstance(typeof(HaziFeladatFacade), FelhasznaloLogic.GetFelhasznalo())).ListHaziFeladat(request)); } } }