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); }
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); }