Exemplo n.º 1
0
        public async Task <BaseResponse> Get(FilterParams parameters)
        {
            GetMobileListRequest request = new GetMobileListRequest()
            {
                QueryString = parameters.Query,
                PriceFrom   = parameters.PriceFrom ?? null,
                PriceTo     = parameters.PriceTo ?? null
            };

            return(await _mobileService.GetMobilelist(request));
        }
Exemplo n.º 2
0
        public async Task <BaseResponse> GetMobilelist(GetMobileListRequest request)
        {
            BaseResponse <List <MobileListItem> > response = null;

            try
            {
                var result = await(_mobilieRepository as MobileRepository)
                             .FindBy(x => (x.FilterProductByQueryString(request.QueryString)) && (x.FilterProductByPriceRange(request.PriceFrom, request.PriceTo)))
                             .Include(x => x.Photos).ToListAsync();

                response = BaseResponse.Ok(new List <MobileListItem>());

                foreach (var item in result)
                {
                    response.Data.Add(new MobileListItem()
                    {
                        Brand            = item.Brand,
                        CPU              = item.CPU,
                        InternalMemory   = item.InternalMemory,
                        MobileId         = item.Id,
                        Name             = item.Name,
                        OS               = item.OS,
                        Price            = item.Price,
                        RAM              = item.RAM,
                        ScreenResolution = item.ScreenResolution,
                        ScreenSize       = item.ScreenSize,
                        Size             = item.Size,
                        VideoUrl         = item.VideoUrl,
                        Weight           = item.Weight,
                        Photos           = (item.Photos as List <Domain.DAO.Entities.Photo>).Select(x => new Domain.DTO.ServiceModels.Photo()
                        {
                            Base64 = x.Value, PhotoId = x.Id
                        }).ToList()
                    });
                }
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                response = BaseResponse.Fail <List <MobileListItem> >(new Error()
                {
                    Code = ErrorCode.Internal, ErrorMessage = "Could not find products."
                });
            }
            return(response);
        }