| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
-
- using Microsoft.AspNetCore.Mvc;
- using BlackRock.Reporting.API.Mediator.DocumentMediator;
- using BlackRock.Reporting.API.Core.Models;
- using Microsoft.AspNetCore.Authorization;
- using BlackRock.Reporting.API.Exceptions;
-
- namespace BlackRock.Reporting.API.Controllers
- {
- //[Authorize]
- [Route("api/[controller]")]
- public class DocumentsController : ControllerBase
- {
- private readonly IDocumentMediator mediator;
- public DocumentsController(IDocumentMediator mediator)
- {
- this.mediator = mediator ?? throw new ArgumentNullException(nameof(mediator));
- }
- // GET: api/documents/Page=2&PageSize=25
- [HttpGet("{id}")]
- public async Task<IActionResult> GetDocumentById(int id)
- {
- var result = await mediator.GetDocument(id);
- if (!result.IsSuccess)
- return BadRequest();
-
- if (result.Data == null)
- return NotFound("Id is not valid");
-
- return Ok(result.Data);
- }
- // GET: api/documents
- [HttpGet]
- public async Task<IActionResult> GetDocuments(SortFilter query)
- {
- throw new DomainException("Relay");
- var result = await mediator.GetDocuments(query);
- if (!result.IsSuccess)
- return BadRequest();
-
- if (result.Data == null)
- return NotFound();
-
- return Ok(result.Data);
- }
- // POST: api/documents
- [HttpPost]
- public async Task<IActionResult> CreateDocument([FromBody] CreateDocumentForm form)
- {
- if (!ModelState.IsValid)
- return BadRequest(ModelState);
-
- var result = await mediator.CreateDocument(form);
-
- if (!result.IsSuccess)
- return BadRequest(result.Error);
-
- return Ok(result.Data);
- }
- // PUT: api/documents/{id}
- [HttpPut]
- public async Task<IActionResult> UpdateDocument(int id, [FromBody] UpdateDocumentForm form)
- {
- if (!ModelState.IsValid)
- return BadRequest(ModelState);
- //form.Id = id;
- var result = await mediator.UpdateDocument(form);
-
- if (!result.IsSuccess)
- return BadRequest(result.Error);
-
- return Accepted();
- }
- // DELETE: api/documents/{id}
- [HttpDelete]
- public async Task<IActionResult> DeleteDocument(int id)
- {
- var result = await mediator.DeleteDocument(id);
-
- if (!result.IsSuccess)
- return BadRequest(result.Error);
-
- return NoContent();
- }
- }
- }
|