Add project files.

This commit is contained in:
Kham
2021-08-23 08:18:46 +10:00
parent 9ab1447381
commit d90e73dfcc
66 changed files with 5081 additions and 0 deletions
@@ -0,0 +1,91 @@
using Microsoft.AspNetCore.Mvc;
using CarParkValidationAPI.Authorization;
using CarParkValidationAPI.Entities;
using CarParkValidationAPI.Models;
using CarParkValidationAPI.Interface;
using System.Threading.Tasks;
using System;
using Microsoft.AspNetCore.StaticFiles;
namespace CarParkValidationAPI.Controllers
{
// [Authorize]
[ApiController]
[Route("api/v1/[controller]")]
public class ConcessionValidationController : ControllerBase
{
private IConcessionValidation _concessionValidation;
private readonly FileExtensionContentTypeProvider _contentTypeProvider;
public ConcessionValidationController(IConcessionValidation concessionValidation)
{
_concessionValidation = concessionValidation;
}
[HttpPost]
public async Task<IActionResult> ConcessionValidation([FromBody] ConcessionValidationDto model)
{
var response = await _concessionValidation.SaveConcessionValidationAsync(model);
return Ok(response);
}
[HttpGet]
public async Task<IActionResult> ConcessionValidation(bool onlyActive=true)
{
var retval = await _concessionValidation.LoadConcessionValidationAsync(onlyActive);
return Ok(retval);
}
[HttpGet("[action]")]
public async Task<IActionResult> ConcessionValidationByStaff(string staffLinkNo, DateTime currentDate)
{
var retval = await _concessionValidation.LoadConcessionValidationStaffLinkNoAsync(staffLinkNo, currentDate);
return Ok(retval);
}
[HttpGet("{id:int}")]
public async Task<IActionResult> ConcessionValidation(int id)
{
/*
// only admins can access other user records
var currentUser = (User)HttpContext.Items["User"];
if (id != currentUser.Id && currentUser.Role != Role.Admin)
return Unauthorized(new { message = "Unauthorized" });
*/
var retval = await _concessionValidation.LoadConcessionValidationByIdAsync(id);
return Ok(retval);
}
[HttpDelete("{id:int}")]
public async Task<IActionResult> DeleteConcessionValidation(int id)
{
/*
// only admins can access other user records
var currentUser = (User)HttpContext.Items["User"];
if (id != currentUser.Id && currentUser.Role != Role.Admin)
return Unauthorized(new { message = "Unauthorized" });
*/
var retval = await _concessionValidation.DeleteConcessionValidationAsync(id);
return Ok(retval);
}
/* download the excel file */
[HttpGet("[action]")]
public async Task<IActionResult> GetReportFile(DateTime fromDate , DateTime toDate)
{
var result = await _concessionValidation.GetReport(fromDate, toDate);
string fileContentType = Map(result.Data.FileName);
return File(result.Data.Content, fileContentType, result.Data.FileName);
}
[NonAction]
private string Map(string fileName)
{
if (!_contentTypeProvider.TryGetContentType(fileName, out string contentType))
{
contentType = "application/octet-stream";
}
return contentType;
}
}
}