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);
        }