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