using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Win_in.Sfs.Scp.WebApi.Parts;
namespace Win_in.Sfs.Scp.WebApi.POs
{
///
/// 采购订单服务
///
[AllowAnonymous]
[Route("api/scp/po")]
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.ScpWebApi)]
public class PurchaseOrderAppService : ReadOnlyAppService, IPurchaseOrderAppService
{
private readonly IPurchaseOrderRepository _purchaseOrderRepository;
public PurchaseOrderAppService(IPurchaseOrderRepository repository) : base(repository)
{
_purchaseOrderRepository = repository;
}
///
/// 按ID获取采购订单 (Get purchase order by ID)
///
/// 唯一ID(unique ID)
///
[HttpGet]
[Route("{id}")]
public override async Task GetAsync(Guid id)
{
return await base.GetAsync(id);
}
///
/// 按条件获取采购订单列表 (Get purchase order list by request condition)
///
///
[HttpGet]
[Route("")]
public override async Task> GetListAsync(RequestDTO input)
{
return await base.GetListAsync(input);
}
///
/// 新增采购订单(Create New purchase order)
///
///
[HttpPost]
[Route("")]
public async Task CreateAsync(PurchaseOrderDTO poCreateDTO)
{
var entity = ObjectMapper.Map(poCreateDTO);
var ret = await _purchaseOrderRepository.InsertAsync(entity);
var dto = ObjectMapper.Map(ret);
return dto;
}
}
}