コード例 #1
0
        public async Task <FlooringServiceResponse> GetFlooring(SearchParametersDto search = null)
        {
            FlooringServiceResponse response = new FlooringServiceResponse();

            try
            {
                var AllFlooring = await _dbContext.Carpets.ToListAsync();

                // filters
                if (!search.SkipSearchParameters || search == null)
                {
                    //pets
                    AllFlooring = AllFlooring.Where(e => e.PetFriendly == search.Pets).ToList();

                    //style
                    AllFlooring = AllFlooring.Where(e => e.Style == search.Style).ToList();
                }

                response.Results = AllFlooring.Select(e => new FlooringDto()
                {
                    Id               = e.Id,
                    Name             = e.Name,
                    Description      = e.Description,
                    DurabilityFactor = e.DurabilityFactor,
                    PriceM2          = e.PriceM2,
                    Properties       = e.Propertys.Select(r => r.BulletPoint).ToList(),
                    Images           = e.Images.Select(i => new FlooringImageDto()
                    {
                        Id            = i.Id,
                        AlternateText = i.AlternateText,
                        ImageType     = i.ImageType,
                        ImageName     = i.ImageName,
                        Link          = "/Images/" + i.Link
                    }).ToList()
                }).ToList();

                response.Success = true;
            }
            catch (Exception e)
            {
                response.Success       = false;
                response.FriendlyError = e.ToString();
                _logger.LogError(e, "Error at flooring service on GetFLooring");
            }

            return(response);
        }
コード例 #2
0
        public async Task <FlooringServiceResponse> GetById(int Id)
        {
            FlooringServiceResponse response = new FlooringServiceResponse();

            try
            {
                var flooring = await _dbContext.Carpets.Include(e => e.Propertys).Include(e => e.Images)
                               .Include(e => e.CarpetColourPallets).Include(e => e.Options).Where(e => e.Id == Id)
                               .SingleOrDefaultAsync();

                flooring.Propertys.Add(new CarpetPropertyEntity()
                {
                    BulletPoint = "Test property one"
                });
                flooring.Propertys.Add(new CarpetPropertyEntity()
                {
                    BulletPoint = "Test property two"
                });

                response.Results.Add(new FlooringDto()
                {
                    Id          = flooring.Id,
                    Name        = flooring.Name,
                    Description = flooring.Description,
                    PetFriendly = flooring.PetFriendly,
                    PriceM2     = flooring.PriceM2,
                    Images      = flooring.Images.Select(e => new FlooringImageDto()
                    {
                        Id = e.Id, AlternateText = e.AlternateText, ImageName = e.ImageName, ImageType = e.ImageType
                    }).ToList(),
                    Properties = flooring.Propertys.Select(e => e.BulletPoint).ToList()
                });

                response.Success = true;
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Get Flooring Exception");
                response.Success       = false;
                response.FriendlyError = ex.ToString();
            }

            return(response);
        }