Beispiel #1
0
        public async Task <ActionResult> GetDashboardRobotsAsync([FromBody] RobotFilterParamsDto filterParams)
        {
            BuildUserPrincipal();

            filterParams.UserId = ApiUser.Id;

            var robots = await _robotService.GetDashboardRobotByFilterParamsAsync(filterParams);

            return(Json(JsonResultData.Success(robots)));
        }
Beispiel #2
0
        public async Task <CollectionResult <GetDashboardRobotDto> > GetDashboardRobotByFilterParamsAsync(
            RobotFilterParamsDto filterParamsDto, CancellationToken ct = default)
        {
            var filterParams = _mapper.Map <RobotFilterParams>(filterParamsDto);

            var robotModels =
                await _unitOfWork.RobotRepository.GetDashboardRobotByFilterParamsAsync(filterParams, ct);

            return(_mapper.Map <CollectionResult <GetDashboardRobotDto> >(robotModels));
        }
Beispiel #3
0
        public async Task <CollectionResult <GetRobotDto> > GetRobotsByFilterParamsAsync(
            RobotFilterParamsDto filterParamsDto,
            CancellationToken ct = default)
        {
            var filterParams = _mapper.Map <RobotFilterParams>(filterParamsDto);

            var robotModels =
                await _unitOfWork.RobotRepository.GetRobotByFilterParamsAsync(filterParams, ct);

            var result = _mapper.Map <CollectionResult <GetRobotDto> >(robotModels);

            foreach (var robot in result.Collection)
            {
                robot.IsFavorite = robot.UserFavorites.Any(t => t == filterParams.UserId);
            }

            return(result);
        }
Beispiel #4
0
        public async Task <ActionResult> GetRobotsAsync([FromBody] RobotFilterParamsDto filterParams)
        {
            BuildUserPrincipal();

            if (ApiUser.Role == Role.User)
            {
                filterParams.UserId = ApiUser.Id;
            }

            if (filterParams.FilterType == RobotFilterType.OnlyInterestedAt)
            {
                filterParams.UserInterests = ApiUser.Interests;
            }

            var robots = await _robotService.GetRobotsByFilterParamsAsync(filterParams);

            if (filterParams.FilterType == RobotFilterType.OnlyInterestedAt && !robots.Collection.Any())
            {
                _client.Enqueue(() => _userService.AddUserSearchResultAsync(ApiUser.Id, CancellationToken.None));
            }

            return(Json(JsonResultData.Success(robots)));
        }