ปรับปรุง api รับค่าการสแกนนิ้ว เพิ่มเติม

This commit is contained in:
Nakorn Rientrakrunchai
2020-07-27 08:40:44 +07:00
parent b457cb0a13
commit 7e7de0b9f4
4 changed files with 59 additions and 57 deletions

View File

@@ -15,7 +15,7 @@ namespace TodoAPI2.Models
List<eva_temp_fingerscanViewModel> GetListBybadgenumber(string badgenumber);
List<eva_temp_fingerscanViewModel> GetListBySearch(eva_temp_fingerscanSearchModel model);
eva_temp_fingerscanWithSelectionViewModel GetBlankItem();
string InsertFingerScanToHR(List<string> model);
string InsertFingerScanToHR(List<input_finger> model);
string RecieveFingerScanFromLocal(List<fingerscanDataModel> model);
}
}

View File

@@ -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<eva_temp_fingerscanEntity, string> _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<string>();
var result = new List<input_finger>();
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<string> model)
public string InsertFingerScanToHR(List<input_finger> 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++;