public async Task <WorkerModel> Handle(GetWorkerMyInfo request, CancellationToken cancellationToken) { var user = await userStore.FindByIdAsync(request.GetUser(), cancellationToken); if (user == null) { throw new UserDoesNotExistException(); } var workerDb = await _workerRepository.GetWorkerByUserNameAsync(user.Email); if (workerDb == null) { return(new WorkerModel()); } var workderDbteamList = await _workersByTeamRepository.GetWorkerTeamInfo(workerDb.WorkerId); var response = new WorkerModel() { WorkerId = workerDb.WorkerId, FirstName = workerDb.FirstName, LastName = workerDb.LastName, Email = workerDb.Email, Birthday = workerDb.Birthday, PhotoUrl = workerDb.PhotoUrl, Status = workerDb.Status.Name, StatusId = workerDb.Status.StatusId, Role = workerDb.Role.Name, RoleId = workerDb.Role.RoleId, LastModificationTime = workerDb.LastModificationTime, IsBirthdayToday = VerifyBirthday(DateTime.Now, workerDb.Birthday), Teams = workderDbteamList != null ? workderDbteamList.Select(x => new TeamModel(x.Team.TeamId, x.Team.Name)).ToList() : new List <TeamModel>() }; return(response); }