Ejemplo n.º 1
0
        public async Task <UserServiceLoginResponseDto> Login(LoginRegisterDto model)
        {
            var user = await _context.Users
                       .Include(u => u.Profile)
                       .Include(u => u.Group)
                       .Include(u => u.Rank)
                       .SingleOrDefaultAsync(u => u.Email == model.Email);

            if (user == null)
            {
                return(null);
            }
            var result = BCrypt.Net.BCrypt.EnhancedVerify(model.Password, user.Password);

            if (!result)
            {
                return(null);
            }
            var userCreatedDebates = await _context.Debates.Where(d => d.CreatedById == user.Id).ToListAsync();

            var userParticipatingDebates = await _context.Debates.Where(d => d.CreatedById != user.Id).Include(d => d.Comments).Where(d => d.Comments.Any(c => c.CreatedBy == user)).ToListAsync();

            var serviceResponse = new UserServiceLoginResponseDto();

            serviceResponse.User                 = user;
            serviceResponse.CreatedDebates       = userCreatedDebates;
            serviceResponse.ParticipatingDebates = userParticipatingDebates;
            return(serviceResponse);
        }
Ejemplo n.º 2
0
        public async Task <UserServiceLoginResponseDto> GetUserByEmail(string email)
        {
            var user = await _context.Users
                       .Include(u => u.Profile)
                       .Include(u => u.Group)
                       .Include(u => u.Rank)
                       .SingleOrDefaultAsync(u => u.Email == email);

            if (user == null)
            {
                return(null);
            }

            var userCreatedDebates = await _context.Debates.Where(d => d.CreatedById == user.Id).ToListAsync();

            var userParticipatingDebates = await _context.Debates.Where(d => d.CreatedById != user.Id).Include(d => d.Comments).Where(d => d.Comments.Any(c => c.CreatedBy == user)).ToListAsync();

            var serviceResponse = new UserServiceLoginResponseDto();

            serviceResponse.User                 = user;
            serviceResponse.CreatedDebates       = userCreatedDebates;
            serviceResponse.ParticipatingDebates = userParticipatingDebates;
            return(serviceResponse);
        }