using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.Logging; using TTSW.Controllers; using TTSW.EF; using TTSW.Utils; using TTSW.Constant; using TTSW.Common; using TodoAPI2.Models; using System.Data; using Microsoft.Extensions.Configuration; using System.IO; namespace TodoAPI2.Controllers { //[Authorize] [Produces("application/json")] [Route("api/eva_temp_fingerscan")] public class eva_temp_fingerscanController : BaseController { #region Private Variables private ILogger _logger; private Ieva_temp_fingerscanService _repository; private IConfiguration Configuration { get; set; } #endregion #region Properties #endregion /// /// Default constructure for dependency injection /// /// /// /// public eva_temp_fingerscanController(ILogger logger, Ieva_temp_fingerscanService repository, IConfiguration configuration) { _logger = logger; _repository = repository; Configuration = configuration; } /// /// Get Blank Item /// /// /// /// Return a blank item /// Returns the item /// Error Occurred [HttpGet("GetBlankItem")] [ProducesResponseType(typeof(eva_temp_fingerscanWithSelectionViewModel), 200)] [ProducesResponseType(400)] [ProducesResponseType(500)] //[ValidateAntiForgeryToken] public IActionResult GetBlankItem() { try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); var result = _repository.GetBlankItem(); return Ok(result); } catch (Exception ex) { _logger.LogCritical($"Exception in IActionResult GetBlankItem.", ex); return StatusCode(500, $"{ex.Message}"); } } /// /// Get list items by badgenumber /// /// /// /// Return list of items by specifced keyword /// Returns the item /// Error Occurred [HttpGet("")] [ProducesResponseType(typeof(List), 200)] [ProducesResponseType(400)] [ProducesResponseType(500)] //[ValidateAntiForgeryToken] public IActionResult GetList(string badgenumber) { try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); return Ok(_repository.GetListBybadgenumber(badgenumber)); } catch (Exception ex) { _logger.LogCritical($"Exception in IActionResult GetList.", ex); return StatusCode(500, $"{ex.Message}"); } } /// /// Get list items by search /// /// /// /// Return list of items by specifced keyword /// Returns the item /// Error Occurred [HttpGet("GetListBySearch")] [ProducesResponseType(typeof(List), 200)] [ProducesResponseType(400)] [ProducesResponseType(500)] //[ValidateAntiForgeryToken] public IActionResult GetListBySearch(eva_temp_fingerscanSearchModel model) { try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); return Ok(_repository.GetListBySearch(model)); } catch (Exception ex) { _logger.LogCritical($"Exception in IActionResult GetListBySearch.", ex); string error_detail = ex.Message + " " + ex.StackTrace; if(ex.InnerException != null) { error_detail += ex.InnerException.Message; } return StatusCode(500, error_detail); } } ///// ///// InsertFingerScanToHR ///// ///// ///// ///// ///// Response Result Message ///// Response Result Message ///// If the model is invalid ///// Error Occurred //[HttpPost("InsertFingerScanToHR")] //[ProducesResponseType(typeof(CommonResponseMessage), 200)] //[ProducesResponseType(400)] //[ProducesResponseType(500)] ////[ValidateAntiForgeryToken] //public IActionResult InsertFingerScanToHR([FromBody] List model) //{ // if (ModelState.IsValid) // { // try // { // string rowCount = _repository.InsertFingerScanToHR(model); // var message = new CommonResponseMessage(); // message.code = "200"; // message.message = "เพิ่มข้อมูลเรียบร้อย จำนวน " + rowCount + " รายการ"; // message.data = null; // return Ok(message); // } // catch (Exception ex) // { // _logger.LogCritical($"InsertFingerScanToHR.", ex); // return StatusCode(500, $"{ex.Message}"); // } // } // return BadRequest(ModelState); //} /// /// RecieveFingerScanFromLocal /// /// /// /// /// Response Result Message /// Response Result Message /// If the model is invalid /// Error Occurred [HttpPost("RecieveFingerScanFromLocal")] [ProducesResponseType(typeof(CommonResponseMessage), 200)] [ProducesResponseType(400)] [ProducesResponseType(500)] //[ValidateAntiForgeryToken] public IActionResult RecieveFingerScanFromLocal([FromBody] List model) { if (ModelState.IsValid) { try { Console.WriteLine("RecieveFingerScanFromLocal"); string rowCount = _repository.RecieveFingerScanFromLocal(model); var message = new CommonResponseMessage(); message.code = "200"; message.message = "เพิ่มข้อมูลเรียบร้อย จำนวน " + rowCount + " รายการ"; message.data = null; return Ok(message); } catch (Exception ex) { _logger.LogCritical($"RecieveFingerScanFromLocal.", ex); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); if (ex.InnerException != null) { Console.WriteLine(ex.InnerException.Message); } return StatusCode(500, $"{ex.Message}"); } } return BadRequest(ModelState); } } }