private void Read() { while (port.IsOpen) { try { string rfid = port.ReadLine(); rfid = rfid.Replace("\r", ""); if (!string.IsNullOrEmpty(rfid) && rfid.All(char.IsDigit)) { EmployeeProfileRfid employeeProfileRfid = _attendanceManager.AssignAttendanceInfo(rfid); employeeNameLabel.Text = employeeProfileRfid.EmployeeName; employeeIdLabel.Text = employeeProfileRfid.EmployeeId; attendanceLabelStatus.Text = employeeProfileRfid.AttendanceStatus; timeAndDateLabel.Text = employeeProfileRfid.TimeAndDate; profileImageBox.ImageLocation = employeeProfileRfid.ProfileImage; statusLabel.Text = employeeProfileRfid.Status; } //MessageBox.Show(rfid); Task.Delay(10000); } catch (TimeoutException) { } } }
private EmployeeProfileRfid AddEntranceStatus(string rfid) { double entryTime = Convert.ToDouble(TimeSpan.Parse(AttendanceDefinition.GetDefinition().EntryTime).TotalSeconds) + 1800; double nowTime = Convert.ToDouble(TimeSpan.Parse(DateTime.Now.ToString("HH:mm:ss")).TotalSeconds); EmployeeAttendance employeeAttendance = new EmployeeAttendance() { UserId = GetUserIdByRfid(rfid), EntryTime = DateTime.Now.ToString("HH:mm:ss"), Years = DateTime.Now.Year.ToString(), Months = DateTime.Now.ToString("MMMM"), Day = DateTime.Now.ToString("dddd"), LocalDate = DateTime.Now.ToString("yyyy-MM-dd"), Status = nowTime <= entryTime ? 1 : 0, Fine = nowTime <= entryTime ? 0 : 50 }; int countRow = _attendanceGateway.AddEntranceStatus(employeeAttendance); if (countRow > 0) { EmployeeProfileRfid employeeProfileRfid = _attendanceGateway.GetEmployeeInfo(rfid); employeeProfileRfid.AttendanceStatus = nowTime <= entryTime ? "Present" : "Late"; employeeProfileRfid.TimeAndDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); return(employeeProfileRfid); } return(new EmployeeProfileRfid { Status = "Something Wrong!" }); }
public EmployeeProfileRfid GetEmployeeInfo(string rfid) { try { const string query = @"SELECT p.name, p.img_name, p.user_id FROM rfid_info r JOIN employee_profile_info p ON r.user_id = p.user_id AND r.rfid_id= @rfid"; Connection.Open(); Command.CommandText = query; Command.Parameters.Clear(); Command.Parameters.AddWithValue("@rfid", rfid); Reader = Command.ExecuteReader(); Reader.Read(); EmployeeProfileRfid employeeProfileRfid = new EmployeeProfileRfid { ProfileImage = "http://localhost/eps/" + Reader["img_name"], EmployeeName = Reader["name"].ToString(), EmployeeId = Reader["user_id"].ToString(), }; Reader.Close(); return(employeeProfileRfid); } finally { Connection.Close(); } }
private EmployeeProfileRfid AddLeavingStatus(string rfid) { EmployeeAttendance employeeAttendance = new EmployeeAttendance() { UserId = GetUserIdByRfid(rfid), LeavingTime = DateTime.Now.ToString("HH:mm:ss"), LocalDate = DateTime.Now.ToString("yyyy-MM-dd") }; int countRow = _attendanceGateway.AddLeavingStatus(employeeAttendance); if (countRow > 0) { EmployeeProfileRfid employeeProfileRfid = _attendanceGateway.GetEmployeeInfo(rfid); employeeProfileRfid.AttendanceStatus = "Leaving"; employeeProfileRfid.TimeAndDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); return(employeeProfileRfid); } return(new EmployeeProfileRfid { Status = "Something Wrong!" }); }