using GB5Shared.DTO.Framework.ResponseStandard; using Microsoft.AspNetCore.Mvc; using GB5Shared.DTO.Framework.Login; using FrameworkDAL.DTO.Role; using FrameworkDAL.CustomCode.Role; using FrameworkBLL.Role; using static GB5Shared.GB5Constant.Constant; namespace FrameworkSL.Controllers.Role { /// /// Provides RoleService. /// [ApiController] [Route("[controller]")] public class RoleService : ControllerBase { private readonly IRoleBLL _IRoleBLL; /// /// RoleService /// /// public RoleService(IRoleBLL IRoleBLL) { _IRoleBLL = IRoleBLL; } /// /// SaveRole /// /// /// /// [HttpPost("SaveRole")] public async Task> SaveRole([FromBody] RoleDTO RoleDTO, [FromHeader(Name = "Login")] string LoginDTOJson) { var LoginDTO = Newtonsoft.Json.JsonConvert.DeserializeObject(LoginDTOJson); try { var result = await _IRoleBLL.SaveRole(RoleDTO, LoginDTO!); return await GB5Shared.ResponseStandard.Response.CreateSuccessResponse(result, CacheKeyLevel.NOT_REQUIRED,LoginDTO!); } catch (Exception ex) { return await GB5Shared.ResponseStandard.Response.CreateExceptionError( ex, CacheKeyLevel.NOT_REQUIRED, LoginDTO!,ex.Message, 500 ); } } } }