mirror of https://github.com/abpframework/abp.git
9 changed files with 111 additions and 5 deletions
@ -0,0 +1,12 @@ |
|||
@page |
|||
@model PublicWebSite.Host.Pages.ProductsModel |
|||
<h1>Our Products</h1> |
|||
<ul> |
|||
@foreach (var product in Model.Products.Items) |
|||
{ |
|||
<li> |
|||
@product.Code / @product.Name / $@product.Price <br/> |
|||
<i>Stock count: @product.StockCount</i> |
|||
</li> |
|||
} |
|||
</ul> |
|||
@ -0,0 +1,25 @@ |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.Mvc.RazorPages; |
|||
using MyCompanyName.ProductManagement; |
|||
using ProductManagement; |
|||
using Volo.Abp.Application.Dtos; |
|||
|
|||
namespace PublicWebSite.Host.Pages |
|||
{ |
|||
public class ProductsModel : PageModel |
|||
{ |
|||
public ListResultDto<ProductDto> Products { get; set; } |
|||
|
|||
private readonly IPublicProductAppService _productAppService; |
|||
|
|||
public ProductsModel(IPublicProductAppService productAppService) |
|||
{ |
|||
_productAppService = productAppService; |
|||
} |
|||
|
|||
public async Task OnGetAsync() |
|||
{ |
|||
Products = await _productAppService.GetListAsync(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
using System.Threading.Tasks; |
|||
using ProductManagement; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Application.Services; |
|||
|
|||
namespace MyCompanyName.ProductManagement |
|||
{ |
|||
public interface IPublicProductAppService : IApplicationService |
|||
{ |
|||
Task<ListResultDto<ProductDto>> GetListAsync(); |
|||
} |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
using System.Collections.Generic; |
|||
using System.Threading.Tasks; |
|||
using ProductManagement; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Application.Services; |
|||
|
|||
namespace MyCompanyName.ProductManagement |
|||
{ |
|||
public class PublicProductAppService : ApplicationService, IPublicProductAppService |
|||
{ |
|||
private readonly IProductRepository _productRepository; |
|||
|
|||
public PublicProductAppService(IProductRepository productRepository) |
|||
{ |
|||
_productRepository = productRepository; |
|||
} |
|||
|
|||
public async Task<ListResultDto<ProductDto>> GetListAsync() |
|||
{ |
|||
return new ListResultDto<ProductDto>( |
|||
ObjectMapper.Map<List<Product>, List<ProductDto>>( |
|||
await _productRepository.GetListAsync() |
|||
) |
|||
); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,28 @@ |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using ProductManagement; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.AspNetCore.Mvc; |
|||
|
|||
namespace MyCompanyName.ProductManagement |
|||
{ |
|||
[RemoteService] |
|||
[Area("productManagement")] |
|||
[Route("api/productManagement/public/products")] |
|||
public class PublicProductsController : AbpController, IPublicProductAppService |
|||
{ |
|||
private readonly IPublicProductAppService _publicProductAppService; |
|||
|
|||
public PublicProductsController(IPublicProductAppService publicProductAppService) |
|||
{ |
|||
_publicProductAppService = publicProductAppService; |
|||
} |
|||
|
|||
[HttpGet] |
|||
public Task<ListResultDto<ProductDto>> GetListAsync() |
|||
{ |
|||
return _publicProductAppService.GetListAsync(); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue