ปรับปรุง api รับค่าการสแกนนิ้ว เพิ่มเติม
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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++;
|
||||
|
||||
Reference in New Issue
Block a user