public async Task <ActionResult <UserToShowDto[]> > GetBusinessUsers([FromQuery] string businessName, [FromQuery] string mongoField) { List <User> usersList = await _businessService.getUserstList(businessName, mongoField); if (usersList == null) { return(NotFound("error in getting users of business")); } User[] usersArray = usersList.ToArray(); UserToShowDto[] usersDtoArray = new UserToShowDto[usersArray.GetLength(0)]; for (int i = 0; i < usersArray.GetLength(0); i++) { usersDtoArray[i] = new UserToShowDto(); foreach (var field in usersArray[i].GetType().GetProperties()) { PropertyInfo pi = usersDtoArray[i].GetType().GetProperty(field.Name); if (pi != null) { if (!field.Name.Equals("Type")) { pi.SetValue(usersDtoArray[i], field.GetValue(usersArray[i], null)); } else { usersDtoArray[i].Type = "Client"; } } } } return(Ok(usersDtoArray)); }
public async Task <ActionResult <UserToShowDto> > addType([FromQuery] string email, [FromQuery] string type) { var result = await _userService.addType(email, type); if (result == null) { return(BadRequest("type was not added")); } UserToShowDto userDto = new UserToShowDto(); foreach (var field in result.GetType().GetProperties()) { PropertyInfo pi = userDto.GetType().GetProperty(field.Name); if (pi != null) { if (!field.Name.Equals("Type")) { pi.SetValue(userDto, field.GetValue(result, null)); } else { userDto.Type = "Admin"; } } } return(Ok(userDto)); }
public async Task <ActionResult <UserToShowDto> > GetByEmail([FromQuery] string email) { User user = await _userService.TryGetUser(email); if (user == null) { return(BadRequest("user does not exist")); } UserToShowDto userDto = new UserToShowDto(); // sort Types Array.Sort(user.Type, StringComparer.InvariantCulture); foreach (var field in user.GetType().GetProperties()) { PropertyInfo pi = userDto.GetType().GetProperty(field.Name); if (pi != null) { if (!field.Name.Equals("Type")) { pi.SetValue(userDto, field.GetValue(user, null)); } else { pi.SetValue(userDto, user.Type[0]); } } } return(Ok(userDto)); }
public async Task <ActionResult <bool> > updatedLastSeen(UserToShowDto user) { bool update = await _userService.updatedLastSeen(user.Email, user.LastSeen); return(Ok(update)); }