public async Task <IActionResult> LastGateAccessDate() { var email = HttpContext.User.Identity.Name; var request = new GetLastGateAccessDate { RequestedEmail = email }; var result = await _mediator.Send(request); return(StatusCodeResult(result)); }
public async Task <Result <DateTime> > Handle(GetLastGateAccessDate request, CancellationToken cancellationToken) { try { var user = await _userRepository.GetUserByEmail(request.RequestedEmail); var result = await _logService.GetAll(); var errorNum = result.Where(x => x.EventType.Name == "Enter" && x.UserId == user.Id).OrderBy(x => x.CreatedAt).FirstOrDefault(); if (errorNum == null) { return(Result <DateTime> .NotFound("There isn't eny enter log for this user")); } return(Result <DateTime> .Ok(errorNum.CreatedAt)); } catch (Exception e) { return(Result <DateTime> .Failure(e.Message)); } }