public async Task <WorkShop.Domain.Client.DTO.UserLogged> PingAsync(WorkShop.Domain.Client.DTO.UserLogged userLoggedDTO) { var checkUserLogged = (await _IUserLoggedRepository.FindAsync(x => userLoggedDTO.UserId == x.UserId && x.Hash == userLoggedDTO.Hash)).FirstOrDefault(); UserLogged userLogged = null; if (checkUserLogged != null) { userLogged = checkUserLogged; userLogged.SetDataCheck(); _IUserLoggedRepository.Update(userLogged); await _IUserLoggedRepository.SaveChangesAsync(); userLoggedDTO.DataCheck = userLogged.DataCheck; userLoggedDTO.DataLogged = userLogged.DataLogged; userLoggedDTO.Hash = userLogged.Hash; userLoggedDTO.Ip = userLogged.Ip; userLoggedDTO.UserId = userLogged.UserId; } else { userLoggedDTO = null; } var dateExclud = DateTime.UtcNow.AddSeconds(-300); var excluds = await _IUserLoggedRepository.FindAsync(x => x.DataLogged <= dateExclud); foreach (var exclud in excluds) { await _IUserLoggedRepository.Remove(exclud.Id); } await _IUserLoggedRepository.SaveChangesAsync(); return(userLoggedDTO); }