Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <bool> > updatedLastSeen(UserToShowDto user)
        {
            bool update = await _userService.updatedLastSeen(user.Email, user.LastSeen);

            return(Ok(update));
        }