Ejemplo n.º 1
0
        public async Task <IActionResult> CreateFromList([FromBody] UserListDTO users)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid input"));
            }

            List <User> newUsers = new List <User>();

            foreach (User user in users.users)
            {
                newUsers.Add(new User
                {
                    firstname  = user.firstname,
                    lastname   = user.lastname,
                    email      = user.email,
                    username   = user.username,
                    password   = user.password,
                    phone      = user.phone,
                    userStatus = user.userStatus
                });
            }
            await _userRepository.CreateUsersFromList(newUsers);

            return(Ok(newUsers));
        }
Ejemplo n.º 2
0
        public IHttpActionResult PostUser(UserDetailDTO userDTO)
        {
            User authorizedUser = new Authorize().GetAuthorizedUser(Request.Headers.GetCookies("user").FirstOrDefault());

            if (!ModelState.IsValid || !userDTO.Validate(true, null))
            {
                return(BadRequest());
            }
            if (authorizedUser == null && !userDTO.NewRole.Equals("Student"))
            {
                return(Unauthorized());
            }
            User user = userDTO.Create();

            userDTO.UpdateRole(user);
            string error = db.Update(user, Added);

            if (error != null)
            {
                return(BadRequest(error));
            }
            UserListDTO result = new UserListDTO(user);

            return(CreatedAtRoute("DefaultApi", new { id = userDTO.Id }, result));
        }
Ejemplo n.º 3
0
        public IEnumerable <UserListDTO> GetUsersByLoanDate(DateTime loanDate)
        {
            // char[] delimeters = {'-', ' '};
            // string[] splitted = loanDate.Split(delimeters);
            // int year, month, day;
            // int.TryParse(splitted[0], out year);
            // int.TryParse(splitted[1], out month);
            // int.TryParse(splitted[2], out day);
            // var chosenDate = new DateTime(year, month, day);
            // var users = _repo.GetUsersByLoanDate(chosenDate);

            var users  = _repo.GetUsersByLoanDate(loanDate);
            var result = new List <UserListDTO>();

            foreach (User user in users)
            {
                var u = new UserListDTO
                {
                    UserId   = user.UserId,
                    FullName = user.FirstName + " " + user.LastName
                };
                result.Add(u);
            }
            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获得Token
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        private string GetToken(UserListDTO user)
        {
            var tokenHandler = new JwtSecurityTokenHandler();

            byte[]   key             = Encoding.ASCII.GetBytes(_applicationConfig.JWTConfig.Key);
            DateTime authTime        = DateTime.UtcNow;
            DateTime expiresAt       = authTime.AddSeconds(_applicationConfig.JWTConfig.ExpiredTime);
            var      securityKey     = new SymmetricSecurityKey(key);
            var      tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim(JwtRegisteredClaimNames.Aud, _applicationConfig.JWTConfig.Audience),
                    new Claim(JwtRegisteredClaimNames.Iss, _applicationConfig.JWTConfig.Issuer),
                    new Claim("UserID", user.ID.ToString())
                }),
                Audience           = _applicationConfig.JWTConfig.Audience,
                Issuer             = _applicationConfig.JWTConfig.Issuer,
                Expires            = expiresAt,
                SigningCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256)
            };
            SecurityToken token       = tokenHandler.CreateToken(tokenDescriptor);
            string        tokenString = tokenHandler.WriteToken(token);

            return(tokenString);
        }
Ejemplo n.º 5
0
        public async Task <ActionResult> Search(SearchModel search, int page = 1)
        {
            UserListDTO users = await UserService.ListUsers(new BLL.DTO.Filtres.UserFilter
            {
                Login   = search.UserName,
                Name    = search.Name,
                Address = search.Adress
            }, page);

            List <UserListItemModel> items = new List <UserListItemModel>();

            foreach (UserDTO item in users.ResultUsers)
            {
                var status = await UserService.FriendshipStatus(item.Id, User.Identity.GetUserId());

                items.Add(new UserListItemModel
                {
                    user   = item,
                    Status = item.Id == User.Identity.GetUserId() ? ENUM.User.FriendshipStatus.MyPage : status
                });
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_UserList", items));
            }
            return(View(new SearcModelList {
                SearchModel = search, Users = items
            }));
        }
Ejemplo n.º 6
0
        public UserListDTO GetUserSearchResult(string userID, string searchterm)
        {
            var user = context.Users.Include(u => u.Friends).Where(u => u.Id == userID).FirstOrDefault();

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

            string      search = searchterm + "%";
            UserListDTO users  = new UserListDTO();

            users.Users = context.Users.Where(u => EF.Functions.Like(u.UserName, search) && IsNotFriend(u, user) && u.Id != user.Id).ToList();
            return(users);
        }
Ejemplo n.º 7
0
        private static UserListDTO UserToListDto(User u)
        {
            UserListDTO user = new UserListDTO()
            {
                Id       = u.UserId,
                UserName = u.UserName,
                Roles    = RolesAsString(u.Roles)
            };

            if (u.Customer != null)
            {
                user.CustomerName = u.Customer.ToString();
            }
            return(user);
        }
Ejemplo n.º 8
0
        public IEnumerable <UserListDTO> GetUsersByLoanDuration(int loanDuration, DateTime date)
        {
            var users  = _repo.GetUsersByLoanDuration(loanDuration, date);
            var result = new List <UserListDTO>();

            foreach (User user in users)
            {
                var u = new UserListDTO
                {
                    UserId   = user.UserId,
                    FullName = user.FirstName + " " + user.LastName
                };
                result.Add(u);
            }
            return(result);
        }
Ejemplo n.º 9
0
        public IEnumerable <UserListDTO> GetUsers()
        {
            var users  = _repo.GetUsers();
            var result = new List <UserListDTO>();

            foreach (User user in users)
            {
                var u = new UserListDTO
                {
                    UserId   = user.UserId,
                    FullName = user.FirstName + " " + user.LastName
                };
                result.Add(u);
            }
            return(result);
        }
Ejemplo n.º 10
0
        public UserListDTO GetPlayerLobby()
        {
            var usersInLobby = new UserListDTO
            {
                Users = new List <User>()
            };
            var users = context.Users.Where(u => u.IsInLobby.Equals(true));

            foreach (var user in users)
            {
                usersInLobby.Users.Add(new User
                {
                    UserName = user.UserName,
                    Id       = user.Id
                });
            }
            return(usersInLobby);
        }
Ejemplo n.º 11
0
        public async Task ValidateAsync(ResourceOwnerPasswordValidationContext context)
        {
            try
            {
                UserListDTO userFromDb = await _userService.LoginAsync(context.UserName, context.Password);

                if (await _apiAuthorityService.HasLoginAuthorityAsync(userFromDb.ID))
                {
                    context.Result = new GrantValidationResult(userFromDb.ID.ToString(), "custom");
                }
                else
                {
                    context.Result = new GrantValidationResult(TokenRequestErrors.UnauthorizedClient, "权限不足");
                }
            }
            catch (InvalidOperationException ex)
            {
                context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, ex.Message);
            }
        }
Ejemplo n.º 12
0
        public void TestUserViewModel()
        {
            UserViewModel userViewModel = new UserViewModel();

            userViewModel.Service = serviceFacade;
            UserListDTO user = new UserListDTO()
            {
                Id = 1
            };
            IList <UserListDTO> users = new List <UserListDTO>()
            {
                user
            };

            Expect.Once.On(serviceFacade).Method("GetAllUsers").Will(Return.Value(users));
            userViewModel.LoadCommand.Command.Execute(null);

            Assert.AreEqual <int>(1, userViewModel.Items.Count);
            Assert.AreEqual(user, userViewModel.SelectedItem);
            Assert.AreEqual(Strings.UserViewModel_DisplayName, userViewModel.DisplayName);
        }
        public void TestUsersToDtos()
        {
            User user = new User()
            {
                UserId = 1, UserName = "******", Password = "******", Version = 0
            };

            Assert.AreEqual(true, user.IsValid);

            IQueryable <User> users = new List <User>()
            {
                user
            }.AsQueryable();
            IList <UserListDTO> userDtos = SecurityAdapter.UsersToDtos(users);

            Assert.AreEqual <int>(1, userDtos.Count());

            UserListDTO dto = userDtos.First();

            Assert.AreEqual <int>(user.UserId, dto.Id);
            Assert.AreEqual <string>(user.UserName, dto.UserName);
            //Assert.AreEqual<string>(user.Customer.ToString(), dto.CustomerName);
            Assert.AreEqual(true, dto.IsValid);
        }
 public ActionResult DeleteUsers([FromBody] UserListDTO user)
 {
     _ILoginService.DeleteUsers(user);
     return(Ok("Ok"));
 }
Ejemplo n.º 15
0
 public void DeleteUsers(UserListDTO user)
 {
     this._repository.DeleteUsers(_mapper.Map <UserListDTO, UserDomainView>(user));
 }