// GET: ReportLogs public async Task <ActionResult> Index(string searchKey) { var userDepartment = await _userDepartmentsService.GetUserDepartmentsAsync(User.Identity.GetUserId()); var departments = userDepartment as IList <Department> ?? userDepartment.ToList(); var employess = await _employeesService.FindEmployessesByDateAsync(DateTime.Now); if (!string.IsNullOrEmpty(searchKey)) { try { DateTime dateSearch = DateTime.ParseExact(searchKey, "dd/MM/yyyy", CultureInfo.InvariantCulture); employess = await _employeesService.FindEmployessesByDateAsync(dateSearch, departments); } catch (Exception ex) { ViewBag.ErrorMessage = $"Invalid date {searchKey}." + ex.Message; } } else { foreach (var dept in departments) { employess = employess.Where(item => item.DepartmentID == dept.DepartmentID); } } return(View(employess)); }