У меня есть две таблицы
TblEmployee
Participance_id employee_id Scan_type Date_and_time 1 1 IN 15-Jan-19 8:00:00 AM 2 1 IN 15-Jan-19 8:00:02:00 3 2 IN 15-Jan-19 8:05:01 4 2 OUT 15-Jan-19 4:00:00 PM 5 1 IN 16-Jan-19 8:05:30 AM
AttendanceTable
emp_id emp_name 1 Salman 2 Tahir 3 Jameel
Я хочу отображать ежемесячные записи всех сотрудников с указанием времени входа и выхода.Время будет в первый раз с «iN», и время выхода будет в последний раз с «OUT».Сотрудник может забыть войти или выйти из системы, поэтому в этом случае поле останется пустым или будет отображаться "отсутствует".
Я пытаюсь сделать это, но не знаю, что делать дальше
var InList = from a in _context.TblEmployee
from e in _context.AttendanceTable.Where(x =>
a.EmpId == x.EmployeeId)
.Where(x => x.ScanType == "IN")
.OrderBy (x => x.DateAndTime)
.DefaultIfEmpty()
select new
{
AttDate = e.DateAndTime.Date,
Emp_name = a.EmployeeName,
Emp_Id = e.EmployeeId
};
var OutList = from a in _context.TblEmployee
from e in _context.AttendanceTable.Where(x =>
a.EmpId == x.EmployeeId)
.Where(x => x.ScanType == "OUT")
.OrderBy (x => x.DateAndTime)
.DefaultIfEmpty()
select new
{
AttDate = e.DateAndTime.Date,
Emp_name = a.EmployeeName,
Emp_Id = e.EmployeeId
};