public async Task <ActionResult <ResultModel <Domain.Client.DTO.UserLogged> > > LoginAsync([FromBody] Domain.Client.DTO.User user) { var objetc = new ResultModel <Domain.Client.DTO.UserLogged>(); _object = await _userRepository.Login(user.Identification, user.Password); if (_object.Sucess) { var userLoggedDTO = new WorkShop.Domain.Client.DTO.UserLogged() { UserId = _object.Object.Id, DataLogged = DateTime.UtcNow }; await _userLoggedEvent.CreateSession(userLoggedDTO); objetc.Sucess = true; objetc.Object = userLoggedDTO; } else { objetc.Sucess = false; } objetc.Message.AddRange(_object.Message); return(objetc); }
public async Task <ActionResult <string[]> > GetAsync() { var user = new Domain.Client.DTO.User() { Identification = "Anderson8", Password = "******" }; // _object = await _userRepository.Insert(user); // return _object.Message.ToArray(); _object = await _userRepository.Login(user.Identification, user.Password); if (_object.Sucess) { var userLoggedDTO = new WorkShop.Domain.Client.DTO.UserLogged() { UserId = _object.Object.Id, DataLogged = DateTime.UtcNow }; await _userLoggedEvent.PingAsync(userLoggedDTO); } return(Ok(_object.Message.ToArray())); }
public async Task <WorkShop.Domain.Client.DTO.UserLogged> PingAsync([FromQuery] string key, [FromQuery] Guid userId) { var userLogged = new WorkShop.Domain.Client.DTO.UserLogged() { Hash = key, UserId = userId }; return(await _userLoggedEvent.PingAsync(userLogged)); }
public async Task CreateSession(WorkShop.Domain.Client.DTO.UserLogged userLoggedDTO) { var userLogged = new UserLogged(userLoggedDTO.UserId, userLoggedDTO.DataLogged, userLoggedDTO.Ip); _IUserLoggedRepository.Add(userLogged); await _IUserLoggedRepository.SaveChangesAsync(); userLoggedDTO.DataCheck = userLogged.DataCheck; userLoggedDTO.DataLogged = userLogged.DataLogged; userLoggedDTO.Hash = userLogged.Hash; userLoggedDTO.Ip = userLogged.Ip; userLoggedDTO.UserId = userLogged.UserId; }
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); }