Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. [ApiVersion( "1.0" )]
  2. [Authorize(Roles = "SuperAdmin,Admin")]
  3. [Route( "api/v{version:apiVersion}/role" )]
  4. public class RoleController : BaseApiController
  5. {
  6. private readonly IRoleQueryService _roleQueryService;
  7. private readonly IRoleCommandService _roleCommandService;
  8. private readonly Config _config;
  9.  
  10. public RoleController(IRoleQueryService roleQueryService,
  11. IRoleCommandService roleCommandService,
  12. Config config)
  13. {
  14. _roleQueryService = roleQueryService;
  15. _roleCommandService = roleCommandService;
  16. _config = config;
  17. }
  18.  
  19. [Route("", Name = "GetAllRoles")]
  20. [HttpGet]
  21. public IActionResult GetAllRoles()
  22. {
  23. var roles = _roleQueryService.GetRoles();
  24. if (roles != null)
  25. {
  26. return Ok(RoleGetRoleMapper.MapEntityRoleListToGetRoleViewModelList(roles, Url, _config));
  27. }
  28. return NotFound();
  29. }
  30.  
  31. [Route("{roleId}", Name = "GetRoleById")]
  32. [HttpGet]
  33. public async Task<IActionResult> GetRoleById(string roleId)
  34. {
  35. var role = await _roleQueryService.GetRoleByIdAsync(roleId);
  36.  
  37. if (role != null)
  38. {
  39. return Ok(RoleGetRoleMapper.MapEntityRoleToGetRoleViewModel(role, Url, _config));
  40. }
  41.  
  42. return NotFound();
  43. }
  44.  
  45. [Route("create", Name = "CreateRole")]
  46. [ValidateModel]
  47. [HttpPost]
  48. public async Task<IActionResult> CreateRole([FromBody] CreateRoleViewModel createRoleViewModel)
  49. {
  50. var entityRole = RoleCreateRoleMapper.MapCreateRoleViewModelToEntityRole(createRoleViewModel);
  51.  
  52. var addRoleResult = await _roleCommandService.CreateRoleAsync(entityRole);
  53.  
  54. if (!addRoleResult.Succeeded)
  55. {
  56. return GetErrorResult(addRoleResult);
  57. }
  58.  
  59. // var locationHeader = new Uri(Url.Link("GetRoleById", new {id = entityRole.RoleId}));
  60. var locationHeader = _config.ProxyApiV1BaseUrl+_config.GetRoleByIdUrl+$"/{entityRole.RoleId}";
  61.  
  62. return Created(locationHeader, entityRole);
  63. }
  64.  
  65. [Route("{roleId}", Name = "DeleteRole")]
  66. [HttpDelete]
  67. public async Task<IActionResult> DeleteRole(string roleId)
  68. {
  69. var result = await _roleCommandService.DeleteRoleAsync(roleId);
  70. return Ok();
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement