コード例 #1
0
        public IActionResult Search(SearchUserOptions options)
        {
            var project = _userService.Search(options).ToList();

            if (!project.Any())
            {
                return(NotFound());
            }

            return(Json(project));
        }
コード例 #2
0
        public IQueryable <User> SearchUsers(SearchUserOptions options)
        {
            if (options == null)
            {
                return(null);
            }

            var query = context
                        .Set <User>()
                        .AsQueryable();


            if (!string.IsNullOrWhiteSpace(options.Country))
            {
                query = query.Where(x => x.Country == options.Country);
            }

            if (options.CreateOnFrom != null)
            {
                query = query.Where(x => x.CreatedOn >= options.CreateOnFrom);
            }

            if (options.CreateOnTo != null)
            {
                query = query.Where(x => x.CreatedOn >= options.CreateOnTo);
            }

            if (!string.IsNullOrWhiteSpace(options.Email))
            {
                query = query.Where(x => x.Email == options.Email);
            }

            if (!string.IsNullOrWhiteSpace(options.FirstName))
            {
                query = query.Where(x => x.FirstName == options.FirstName);
            }

            if (!string.IsNullOrWhiteSpace(options.LastName))
            {
                query = query.Where(x => x.LastName == options.LastName);
            }

            if (options.UserId != null)
            {
                query = query.Where(x => x.UserId == options.UserId);
            }

            return(query
                   .Include(x => x.BackedProjectsList)
                   .Include(y => y.CreatedProjectsList));
        }
コード例 #3
0
        public IQueryable <User> SearchUser(SearchUserOptions options)
        {
            if (options == null)
            {
                return(null);
            }

            var query = _context.Set <User>().AsQueryable();

            if (options.UserId != null)
            {
                query = query.Where(u => u.UserId == options.UserId);
            }

            if (!string.IsNullOrWhiteSpace(options.FirstName))
            {
                query = query.Where(c => c.FirstName == options.FirstName);
            }

            if (!string.IsNullOrWhiteSpace(options.LastName))
            {
                query = query.Where(c => c.LastName == options.LastName);
            }

            if (!string.IsNullOrWhiteSpace(options.Email))
            {
                query = query.Where(c => c.Email == options.Email);
            }

            if (!string.IsNullOrWhiteSpace(options.Address))
            {
                query = query.Where(c => c.Address == options.Address);
            }

            if (options.CreatedAt != null)
            {
                query = query.Where(c => c.CreatedAt == options.CreatedAt);
            }

            if (options.CreatedFrom != null)
            {
                query = query.Where(c => c.CreatedAt >= options.CreatedFrom);
            }

            if (options.CreatedTo != null)
            {
                query = query.Where(c => c.CreatedAt <= options.CreatedTo);
            }

            return(query);
        }
コード例 #4
0
        public List <User> GetUserBy(
            [FromQuery] string firstName,
            [FromQuery] string lastName,
            [FromQuery] string email)
        {
            var options = new SearchUserOptions
            {
                FirstName = firstName,
                LastName  = lastName,
                Email     = email
            };

            return(_userService.SearchUser(options));
        }
コード例 #5
0
ファイル: UserService.cs プロジェクト: kthanaselos/Crowdfund
        public IQueryable <User> SearchUser(SearchUserOptions options)
        {
            if (options == null)
            {
                return(null);
            }

            var query = dbContext
                        .Set <User>()
                        .AsQueryable();

            if (!string.IsNullOrWhiteSpace(options.FirstName))
            {
                query = query.Where(u => u.FirstName == options.FirstName);
            }

            if (!string.IsNullOrWhiteSpace(options.LastName))
            {
                query = query.Where(u => u.LastName == options.LastName);
            }

            if (!string.IsNullOrWhiteSpace(options.Email))
            {
                query = query.Where(u => u.Email == options.Email);
            }

            if (options.CreatedFrom != default(DateTime))
            {
                query = query.Where(u => u.Created >= options.CreatedFrom);
            }

            if (options.CreatedTo != default(DateTime))
            {
                query = query.Where(u => u.Created <= options.CreatedTo);
            }

            if (options.UserId != null)
            {
                query = query.Where(u => u.UserId == options.UserId.Value);
            }

            if (options.IsProjectCreator != null)
            {
                query = query.Where(u => u.IsProjectCreator == options.IsProjectCreator.Value);
            }

            return(query);
        }
コード例 #6
0
        public List <User> SearchUser(SearchUserOptions userOptions)
        {
            if (userOptions == null)
            {
                return(null);
            }
            if (string.IsNullOrWhiteSpace(userOptions.Email) &&
                (userOptions.Id == null || userOptions.Id == 0) &&
                string.IsNullOrWhiteSpace(userOptions.FirstName) &&
                string.IsNullOrWhiteSpace(userOptions.LastName))
            {
                return(null);
            }

            var query = context_
                        .Set <User>()
                        .AsQueryable();

            if (userOptions.Id != null && userOptions.Id != 0)
            {
                query = query.Where(
                    c => c.Id == userOptions.Id);
            }

            if (!string.IsNullOrWhiteSpace(userOptions.FirstName))
            {
                query = query
                        .Where(c => c.FirstName.Contains(userOptions.FirstName));
            }

            if (userOptions.LastName != null)
            {
                query = query
                        .Where(c => c.LastName == userOptions.LastName);
            }

            if (userOptions.Email != null ||
                userOptions.Email.Contains("@"))
            {
                query = query
                        .Where(c => c.Email == userOptions.Email);
            }

            return(query.ToList());
        }
コード例 #7
0
        public IActionResult Search(SearchUserOptions options)
        {
            if (options == null)
            {
                return(BadRequest());
            }

            var users = userService
                        .SearchUser(options)
                        .ToList();

            if (users == null)
            {
                return(NotFound());
            }

            return(Json(users));
        }
コード例 #8
0
        public IActionResult Login([FromBody] SearchUserOptions options)
        {
            if (string.IsNullOrWhiteSpace(options.FirstName) || string.IsNullOrWhiteSpace(options.Email))
            {
                return(BadRequest());
            }

            var user = userService
                       .SearchUsers(options)
                       .SingleOrDefault();

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

            return(Json(user));
        }
コード例 #9
0
        public IActionResult Search([FromBody] SearchUserOptions options)
        {
            var users = userService
                        .SearchUsers(options)
                        .ToList();

            if (users == null)
            {
                return(BadRequest());
            }

            if (users.Count == 0)
            {
                return(NotFound());
            }

            return(Json(users));
        }
コード例 #10
0
        public IQueryable <ApplicationUser> Search(SearchUserOptions options)
        {
            if (options == null)
            {
                return(null);
            }

            var query = context_
                        .Set <ApplicationUser>()
                        .AsQueryable();

            if (!string.IsNullOrWhiteSpace(options.FirstName))
            {
                query = query.Where(u => u.FirstName == options.FirstName);
            }

            if (!string.IsNullOrWhiteSpace(options.LastName))
            {
                query = query.Where(u => u.LastName == options.LastName);
            }

            if (!string.IsNullOrWhiteSpace(options.UserName))
            {
                query = query.Where(u => u.UserName == options.UserName);
            }



            if (options.DateOfBirthFrom != null)
            {
                query = query.Where(u => u.DateOfBirth >= options.DateOfBirthFrom);
            }

            if (options.DateOfBirthTo != null)
            {
                query = query.Where(u => u.DateOfBirth <= options.DateOfBirthTo);
            }

            query = query.Take(500);

            return(query);
        }
コード例 #11
0
        public IQueryable <User> SearchUser(SearchUserOptions options)
        {
            //if (options.UserId == null
            //    &&options.UserCreatedFrom==null
            //    &&options.UserCreatedTo==null
            //    &&string.IsNullOrWhiteSpace(options.UserName)
            //    &&string.IsNullOrWhiteSpace(options.Email))
            if (options == null)
            {
                return(null);
            }
            var query = context_
                        .Set <User>()
                        .AsQueryable();

            if (!string.IsNullOrWhiteSpace(options.UserName))
            {
                query = query.Where(c => c.UserName == options.UserName);
            }

            if (!string.IsNullOrWhiteSpace(options.Email))
            {
                query = query.Where(c => c.Email == options.Email);
            }

            if (options.UserId != null)
            {
                query = query.Where(c => c.UserId == options.UserId);
            }

            if (options.UserCreatedFrom != null)
            {
                query = query.Where(c => c.UserCreated >= options.UserCreatedFrom);
            }
            if (options.UserCreatedTo != null)
            {
                query = query.Where(c => c.UserCreated < options.UserCreatedTo);
            }

            query = query.Take(500);
            return(query);
        }
        public User CreateUserSuccess()
        {
            var options = new CreateUserOptions()
            {
                Email       = "*****@*****.**",
                FirstName   = "dimitra",
                LastName    = "bourazani",
                YearOfBirth = 1993,
                Address     = "Athens"
            };
            var user = user_.CreateUser(options);

            Assert.NotNull(user);
            Assert.Equal(options.Email, user.Email);
            Assert.Equal(options.FirstName, user.FirstName);
            Assert.Equal(options.LastName, user.LastName);
            Assert.Equal(options.YearOfBirth, user.YearOfBirth);
            Assert.Equal(options.Address, user.Address);

            var options1 = new SearchUserOptions()
            {
                Email       = options.Email,
                FirstName   = options.FirstName,
                LastName    = options.LastName,
                YearOfBirth = options.YearOfBirth,
                Address     = options.Address
            };

            var query = user_.SearchUser(options1)
                        .Where(u => u.Id == user.Id)
                        .SingleOrDefault();

            Assert.NotNull(query);
            Assert.Equal(user.Id, query.Id);
            return(user);
        }