Restucture Project

This commit is contained in:
Suphonchai Phoonsawat 2023-03-17 14:24:43 +07:00
parent 5a14843e31
commit b2abfe9e87
177 changed files with 1231 additions and 869 deletions

View file

@ -0,0 +1,73 @@
using BMA.EHR.Core;
using BMA.EHR.Recruit.Service.Responses;
using BMA.EHR.Recruit.Service.Services;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Net;
namespace BMA.EHR.Recruit.Service.Controllers
{
public class BaseController : ControllerBase
{
#region " Methods "
#region " Protected "
#region " IActionResult "
protected virtual ActionResult<ResponseObject> Success(string message, object? result = null)
{
if (result != null)
{
return Ok(new ResponseObject
{
Status = StatusCodes.Status200OK,
Message = message,
Result = result
});
}
else
{
return Ok(new ResponseObject
{
Status = StatusCodes.Status200OK,
Message = message
});
}
}
protected virtual ActionResult<ResponseObject> Success(object? result = null)
{
return Success(GlobalMessages.Success, result);
}
protected virtual ActionResult<ResponseObject> Error(string message, int statusCode = StatusCodes.Status500InternalServerError)
{
return StatusCode((int)statusCode, new ResponseObject
{
Status = statusCode,
Message = message
});
}
protected virtual ActionResult<ResponseObject> Error(Exception exception, int statusCode = StatusCodes.Status500InternalServerError)
{
var msg = exception.Message;
var inner = exception.InnerException;
while (inner != null)
{
msg += $" {inner.Message}\r\n";
inner = inner.InnerException;
}
return Error(msg, statusCode);
}
#endregion
#endregion
#endregion
}
}

View file

@ -0,0 +1,57 @@
using BMA.EHR.Recruit.Service.Responses;
using BMA.EHR.Recruit.Service.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
using BMA.EHR.Recruit.Service.Data;
namespace BMA.EHR.Recruit.Service.Controllers
{
[Route("api/v{version:apiVersion}/recruit")]
[ApiVersion("1.0")]
[ApiController]
[Produces("application/json")]
[Authorize]
[SwaggerTag("จัดการข้อมูลการสอบแข่งขัน")]
public class RecruitController : BaseController
{
#region " Fields "
private readonly ApplicationDbContext _context;
private readonly DocumentService _documentService;
private readonly IWebHostEnvironment _webHostEnvironment;
private readonly RecruitService _recruitService;
#endregion
#region " Constructor and Destructor "
public RecruitController(ApplicationDbContext context,
DocumentService documentService,
IWebHostEnvironment webHostEnvironment,
RecruitService recruitService)
{
_context = context;
_documentService = documentService;
_webHostEnvironment = webHostEnvironment;
_recruitService = recruitService;
}
#endregion
#region " Methods "
#region " จัดการรอบการสมัครสอบแข่งขัน "
#endregion
[HttpGet]
public async Task<ActionResult<ResponseObject>> GetsAsync()
{
return Success("OK");
}
#endregion
}
}