using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using IRaCIS.Application.Interfaces; using IRaCIS.Application.Contracts; using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Infrastructure.Extention; using Microsoft.AspNetCore.Authorization; using System.Threading.Tasks; using IRaCIS.Application.Services; using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Infra.EFCore; using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Application.Auth; using Microsoft.Extensions.Localization; namespace IRaCIS.Core.API.Controllers.Special { //谨慎修改 涉及到财务模块 [ApiController, Authorize, ApiExplorerSettings(GroupName = "Financial")] public class FinancialChangeController : ControllerBase { private readonly ITrialService _trialService; private IStringLocalizer _localizer { get; set; } public FinancialChangeController(ITrialService trialService, IStringLocalizer localizer ) { _localizer = localizer; _trialService = trialService; } //[TrialAudit(AuditType.TrialAudit, AuditOptType.AddOrUpdateTrial)] /// <summary> 添加实验项目-返回新增Id[AUTH]</summary> /// <returns>新记录Id</returns> [HttpPost, Route("Inspection/trial/addOrUpdateTrial")] [UnitOfWork] public async Task<IResponseOutput> AddOrUpdateTrialInspection(DataInspectionDto<TrialCommand> opt) { var fun =await AddOrUpdateTrial(opt.Data); return fun; } /// <summary> 添加实验项目-返回新增Id[AUTH]</summary> /// <param name="param"></param> /// <returns>新记录Id</returns> [HttpPost, Route("trial/addOrUpdateTrial")] //[Authorize(Policy = IRaCISPolicy.PM_APM)] [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AddOrUpdateTrial", "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] public async Task<IResponseOutput<Trial>> AddOrUpdateTrial(TrialCommand param) { var userId = Guid.Parse(User.FindFirst("id").Value); var result = await _trialService.AddOrUpdateTrial(param); return result; } } }