Commit 38fefcdf authored by Michal Bilanin's avatar Michal Bilanin 🙄
Browse files

feat: searchables view model in the mvc

parent 6a8b945d
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
namespace BusinessLayer.DTOs;

public class SearchablesFilterViewDto
public class SearchablesFilterDto
{
    public string? NameQuery { get; set; }
    public string? ProductCategory { get; set; }
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ using Infrastructure.QueryObjects;

namespace BusinessLayer.DTOs;

public class SearchablesFilterResultViewDto
public class SearchablesFilterResultDto
{
    public required FilteredResult<ProductDetailDto> Products { get; set; }
    public required FilteredResult<ManufacturerDto> Manufacturers { get; set; }
+1 −1
Original line number Diff line number Diff line
@@ -4,5 +4,5 @@ namespace BusinessLayer.Facades.Interfaces;

public interface ISearchablesFacade
{
    Task<SearchablesFilterResultViewDto> GetSearchablesFilteredAsync(SearchablesFilterViewDto searchablesFilter);
    Task<SearchablesFilterResultDto> GetSearchablesFilteredAsync(SearchablesFilterDto searchablesFilter);
}
 No newline at end of file
+6 −6
Original line number Diff line number Diff line
@@ -11,19 +11,19 @@ public class SearchablesFacade(
    ITagService tagService,
    IMapper mapper) : ISearchablesFacade
{
    public async Task<SearchablesFilterResultViewDto> GetSearchablesFilteredAsync(
        SearchablesFilterViewDto searchablesFilter)
    public async Task<SearchablesFilterResultDto> GetSearchablesFilteredAsync(
        SearchablesFilterDto searchablesFilter)
    {
        var productsResult =
            await productService.GetProductDetailsFilteredAsync(
                mapper.Map<SearchablesFilterViewDto, ProductFilterDto>(searchablesFilter));
                mapper.Map<SearchablesFilterDto, ProductFilterDto>(searchablesFilter));
        var manufacturersResult =
            await manufacturerService.GetManufacturersAsync(
                mapper.Map<SearchablesFilterViewDto, ManufacturerFilterDto>(searchablesFilter));
                mapper.Map<SearchablesFilterDto, ManufacturerFilterDto>(searchablesFilter));
        var tagsResult =
            await tagService.GetTagsAsync(mapper.Map<SearchablesFilterViewDto, TagFilterDto>(searchablesFilter));
            await tagService.GetTagsAsync(mapper.Map<SearchablesFilterDto, TagFilterDto>(searchablesFilter));

        return new SearchablesFilterResultViewDto
        return new SearchablesFilterResultDto
        {
            Products = productsResult,
            Manufacturers = manufacturersResult,
+2 −2
Original line number Diff line number Diff line
@@ -22,9 +22,9 @@ public class ProductController(
    IMapper mapper) : Controller
{
    [HttpGet]
    public async Task<IActionResult> Index([FromQuery] SearchablesFilterViewDto searchablesFilter)
    public async Task<IActionResult> Index([FromQuery] SearchablesFilterViewModel searchablesFilter)
    {
        var searchables = await searchablesFacade.GetSearchablesFilteredAsync(searchablesFilter);
        var searchables = await searchablesFacade.GetSearchablesFilteredAsync(mapper.Map<SearchablesFilterDto>(searchablesFilter));
        return View(searchables);
    }

Loading