Added Product URL Resolver

This commit is contained in:
Lavardin 2022-05-10 22:43:36 -07:00
parent 263aa50631
commit e57e87ad9e
3 changed files with 29 additions and 2 deletions

View File

@ -10,7 +10,8 @@ namespace API.Helpers
{ {
CreateMap<Product, ProductToReturnDto>() CreateMap<Product, ProductToReturnDto>()
.ForMember(d => d.ProductBrand, o => o.MapFrom(s => s.ProductBrand.Name)) .ForMember(d => d.ProductBrand, o => o.MapFrom(s => s.ProductBrand.Name))
.ForMember(d => d.ProductType, o => o.MapFrom(s => s.ProductType.Name)); .ForMember(d => d.ProductType, o => o.MapFrom(s => s.ProductType.Name))
.ForMember(d => d.PictureUrl, o => o.MapFrom<ProductUrlResolver>());
} }
} }
} }

View File

@ -0,0 +1,25 @@
using API.Dtos;
using AutoMapper;
using Core.Entities;
namespace API.Helpers
{
public class ProductUrlResolver : IValueResolver<Product, ProductToReturnDto, string>
{
private readonly IConfiguration _config;
public ProductUrlResolver(IConfiguration config)
{
_config = config;
}
public string Resolve(Product source, ProductToReturnDto destination, string destMember, ResolutionContext context)
{
if(!string.IsNullOrEmpty(source.PictureUrl))
{
return _config["ApiUrl"] + source.PictureUrl;
}
return null;
}
}
}

View File

@ -7,5 +7,6 @@
}, },
"ConnectionStrings": { "ConnectionStrings": {
"DefaultConnection": "Data source=ecommerce.db" "DefaultConnection": "Data source=ecommerce.db"
} },
"ApiUrl": "https://localhost:5001/"
} }