protected async Task <ActionResult <HALResponse> > DeleteWithMap <DeleteDto, DeleteCommand, ResponseDto>( DeleteDto requestDto, IMediator mediator, IMapper mapper, IHalService <ResponseDto> halService) { var command = mapper.Map <DeleteCommand>(requestDto); var model = await mediator.Send(command); var responseDto = mapper.Map <ResponseDto>(model); var halResponse = halService.AddLinks(responseDto); return(Ok(halResponse)); }
protected async Task <ActionResult <HALResponse> > Create <CreateDto, CreateCommand>( CreateDto requestDto, IMediator mediator, IMapper mapper, IHalService <ResponseDto> halService) { var command = mapper.Map <CreateCommand>(requestDto); var model = await mediator.Send(command); var responseDto = mapper.Map <ResponseDto>(model); var halResponse = halService.AddLinks(responseDto); return(this.CreatedByUsingTheRequestRoute(halResponse)); }
protected ActionResult <HALResponse> GetAll( IReaderGetAll <DataModel> readerGetAll, IMapper mapper, IHalService <ResponseDto> halService) { var halResponses = readerGetAll .GetAll() .Select(dataModel => { var responseDto = mapper.Map <ResponseDto>(dataModel); return(halService.AddLinks(responseDto)); }) .ToList(); var halResponse = halService.AddLinks(halResponses); return(Ok(halResponse)); }
protected ActionResult <HALResponse> Get <RequestDto, Query>( RequestDto requestDto, IReaderGet <DataModel, Query> readerGet, IMapper mapper, IHalService <ResponseDto> halService) { var query = mapper.Map <Query>(requestDto); var dataModel = readerGet.Get(query); if (dataModel is null) { throw new NotFoundException("suggestion"); } var responseDto = mapper.Map <ResponseDto>(dataModel); var halResponse = halService.AddLinks(responseDto); return(Ok(halResponse)); }