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
);
}
}
}
}