From 7e7de0b9f47321c888fb3deb2b3d1f4cb99498e6 Mon Sep 17 00:00:00 2001 From: Nakorn Rientrakrunchai Date: Mon, 27 Jul 2020 08:40:44 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B8=9B?= =?UTF-8?q?=E0=B8=A3=E0=B8=B8=E0=B8=87=20api=20=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=84=E0=B9=88=E0=B8=B2=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=AA?= =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B8=99=E0=B8=99=E0=B8=B4=E0=B9=89=E0=B8=A7?= =?UTF-8?q?=20=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1=E0=B9=80?= =?UTF-8?q?=E0=B8=95=E0=B8=B4=E0=B8=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_temp_fingerscanControllers.cs | 72 +++++++++---------- .../Ieva_temp_fingerscanService.cs | 2 +- .../eva_temp_fingerscanService.cs | 30 +++++--- tb320eva.xml | 12 ---- 4 files changed, 59 insertions(+), 57 deletions(-) diff --git a/ApiControllers/eva_temp_fingerscanControllers.cs b/ApiControllers/eva_temp_fingerscanControllers.cs index 75db7b9..9fcf3ca 100644 --- a/ApiControllers/eva_temp_fingerscanControllers.cs +++ b/ApiControllers/eva_temp_fingerscanControllers.cs @@ -137,43 +137,43 @@ namespace TodoAPI2.Controllers } } - /// - /// 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}"); - } - } + ///// + ///// 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); - } + // return BadRequest(ModelState); + //} /// /// RecieveFingerScanFromLocal diff --git a/Models/eva_temp_fingerscan/Ieva_temp_fingerscanService.cs b/Models/eva_temp_fingerscan/Ieva_temp_fingerscanService.cs index 01258b2..2840ddb 100644 --- a/Models/eva_temp_fingerscan/Ieva_temp_fingerscanService.cs +++ b/Models/eva_temp_fingerscan/Ieva_temp_fingerscanService.cs @@ -15,7 +15,7 @@ namespace TodoAPI2.Models List GetListBybadgenumber(string badgenumber); List GetListBySearch(eva_temp_fingerscanSearchModel model); eva_temp_fingerscanWithSelectionViewModel GetBlankItem(); - string InsertFingerScanToHR(List model); + string InsertFingerScanToHR(List model); string RecieveFingerScanFromLocal(List model); } } diff --git a/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs b/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs index 33bc3ac..3f087c1 100644 --- a/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs +++ b/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs @@ -27,6 +27,13 @@ namespace TodoAPI2.Models public string path { get; set; } } + public class input_finger + { + public string data { get; set; } + public string base64_img { get; set; } + public string image_id { get; set; } + } + public class eva_temp_fingerscanService : Ieva_temp_fingerscanService { private IBaseRepository2 _repository; @@ -208,38 +215,45 @@ namespace TodoAPI2.Models // join e in all_emp on ClearName(i.fullname) equals ClearName(e.halfname) // select e.id.ToString() + "#" + GetDateStringForDB(i.checktime) + "#" + GetTimeStringForDB(i.checktime)).ToList(); - var result = new List(); + var result = new List(); foreach (var i in model) { var id = (from e in all_emp where ClearName(i.fullname) == ClearName(e.halfname) select e.id.ToString()).FirstOrDefault().ToString(); - byte[] imageBytes = Convert.FromBase64String(i.base64img); - var r = PostAttachment(imageBytes, "jk" + i.image_id + ".jpg"); - var r2 = id + "#" + GetDateStringForDB(i.checktime) + "#" + GetTimeStringForDB(i.checktime) + "#" + r; - result.Add(r2); + if (!string.IsNullOrEmpty(id)) + { + var r2 = id + "#" + GetDateStringForDB(i.checktime) + "#" + GetTimeStringForDB(i.checktime); + var a = new input_finger(); + a.data = r2; + a.base64_img = i.base64img; + a.image_id = i.image_id; + result.Add(a); + } } return InsertFingerScanToHR(result); } - public string InsertFingerScanToHR(List model) + public string InsertFingerScanToHR(List model) { int count_insert = 0; foreach (var i in model) { - var data = i.Split('#'); + var data = i.data.Split('#'); string employee_id = data[0]; string date = data[1]; string time = data[2]; - string picture = data[3]; string sql_checking = $"select employee_id,date,time from tad_time_attendances where employee_id={employee_id} and date='{date}' and time='{time}' "; DataTable dt = db.ExecuteDataTableNpgsql(sql_checking, null); if (dt.Rows.Count == 0) { + byte[] imageBytes = Convert.FromBase64String(i.base64_img); + var picture = PostAttachment(imageBytes, "jk" + i.image_id + ".jpg"); + string sql_insert = $"insert into tad_time_attendances(employee_id,date,time,picture) values({employee_id},'{date}','{time}','{picture}')"; db.ExecuteNonQueryNpgsql(sql_insert, null); count_insert++; diff --git a/tb320eva.xml b/tb320eva.xml index d954fee..353655e 100644 --- a/tb320eva.xml +++ b/tb320eva.xml @@ -3208,18 +3208,6 @@ Returns the item Error Occurred - - - InsertFingerScanToHR - - - - - Response Result Message - Response Result Message - If the model is invalid - Error Occurred - RecieveFingerScanFromLocal