public userRetorno IncluirUsuario(userParams parametros) { //Incluir no log o start de execução (data e hora de início) e o request do processo. userRetorno retorno = new userRetorno(); userBusiness userBusiness = new userBusiness(); retorno.Sucesso = false; if (parametros.User == "" || parametros.User == null) { retorno.Mensagem = "O campo Usuário não pode ficar em branco."; } else if (parametros.Pass == "" || parametros.Pass == null) { retorno.Mensagem = "O campo Password não pode ficar em branco."; } else if (parametros.Name == "" || parametros.Name == null) { retorno.Mensagem = "O campo Nome não pode ficar em branco."; } else if (parametros.Email == "" || parametros.Email == null) { retorno.Mensagem = "O campo E-Mail não pode ficar em branco."; } else if (!utilData.Valida_EMail(parametros.Email)) { retorno.Mensagem = "O campo E-Mail contém um valor inválido."; } else { retorno = userBusiness.CriarUsuario(parametros.User, parametros.Pass, parametros.Name, parametros.Email); } //Incluir no log o response do processo e o tempo de execução (Elapsed time). return(retorno); }
public async Task <PageList <User> > GetUsers(userParams userParams) { var UserResult = _context.Users.Include(p => p.Photos). OrderByDescending(x => x.LastActive) .AsQueryable(); UserResult = UserResult.Where(x => x.Id != userParams.UserId); UserResult = UserResult.Where(x => x.Gender == userParams.Gender); if (userParams.Likers) { var userlikers = await GetUsersLikes(userParams.UserId, userParams.Likers); UserResult = UserResult.Where(x => userlikers.Contains(x.Id)); } if (userParams.Likees) { var userlikees = await GetUsersLikes(userParams.UserId, userParams.Likers); UserResult = UserResult.Where(x => userlikees.Contains(x.Id)); } if (userParams.MinAge != 18 || userParams.MaxAge != 99) { var maxDob = DateTime.Today.AddYears(-userParams.MaxAge - 1); var minDob = DateTime.Today.AddYears(-userParams.MinAge); UserResult = UserResult.Where(x => x.DOB >= minDob && x.DOB <= maxDob); } if (!string.IsNullOrEmpty(userParams.Orderby)) { switch (userParams.Orderby) { case "created": UserResult = UserResult.OrderByDescending(x => x.Createed); break; default: UserResult = UserResult.OrderByDescending(x => x.LastActive); break; } } return(await PageList <User> .CreateAsync(UserResult, userParams.PageNumber, userParams.PageSize)); }
public async Task <IActionResult> getUsers([FromQuery] userParams userparams) { var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var userFromRepo = await _DatingRepository.GetUser(currentUserId); userparams.UserId = currentUserId; if (string.IsNullOrEmpty(userparams.Gender)) { userparams.Gender = userFromRepo.Gender == "male"? "Female": "male"; } var users = await _DatingRepository.GetUsers(userparams); var userCollectons = _mapper.Map <IEnumerable <UsersForDto> >(users); Response.AddPagination(users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPage); return(Ok(userCollectons)); }