public async Task <IActionResult> TimeEntry(int id, [FromBody] EmployeeForTimeEntryDto employeeForTimeEntryDto) { var employee = await _repo.TimeEntry(id, employeeForTimeEntryDto); if (employee == null) { return(StatusCode(500)); } await _hubContext.Clients.All.SendAsync("sendToAll"); return(StatusCode(200)); }
public async Task <Employee> TimeEntry(int id, EmployeeForTimeEntryDto employeeForTimeEntryDto) { var employee = await _context.Employees.FirstOrDefaultAsync(emp => emp.Id == id); if (employee.PIN == employeeForTimeEntryDto.PIN) { if (employee.Status == employeeForTimeEntryDto.Status) { return(null); } else if (employee.Status == "in" && (employeeForTimeEntryDto.Status == "out" || employeeForTimeEntryDto.Status == "break")) { employee.Status = employeeForTimeEntryDto.Status; } else if (employee.Status == "break" && employeeForTimeEntryDto.Status == "in") { employee.Status = employeeForTimeEntryDto.Status; } else if (employee.Status == "out" && employeeForTimeEntryDto.Status == "in") { employee.Status = employeeForTimeEntryDto.Status; } else { return(null); } _context.Employees.Update(employee); await _context.SaveChangesAsync(); return(employee); } else { return(null); } }