using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Volo.Abp.SettingManagement; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Domain; using Win_in.Sfs.Basedata.Domain.Shared; namespace Win_in.Sfs.Basedata.Application.Setttings; [Authorize] [Route($"{BasedataConsts.RootPath}settings")] public class BasedataSettingsAppService : SettingManagementAppServiceBase, IBasedataSettingsAppService { private readonly ISettingManager _settingManager; public BasedataSettingsAppService(ISettingManager settingManager) { _settingManager = settingManager; } [HttpGet] public virtual async Task GetAsync() { var dto = new BasedataSettingsDto(); var settings = await _settingManager.GetAllGlobalAsync().ConfigureAwait(false); dto.ItemStoreRelation_LocationTypes = settings.Find(p => p.Name == BasedataSettings.ItemStoreRelation.LocationTypes)?.Value; dto.ItemStoreRelation_NotFoundReturnInfinity = settings.Find(p => p.Name == BasedataSettings.ItemStoreRelation.NotFoundReturnInfinity)?.Value; dto.ErpLocationItem_NotFoundReturnInfinity = settings.Find(p => p.Name == BasedataSettings.ErpLocationItem.NotFoundReturnInfinity)?.Value; dto.ItemQuality_NotFoundReturnExempt = settings.Find(p => p.Name == BasedataSettings.ItemQuality.NotFoundReturnExempt)?.Value; dto.AQL_DefaultSampleQty = settings.Find(p => p.Name == BasedataSettings.AQL.DefaultSampleQty)?.Value; dto.AQL_UseAbcClass = settings.Find(p => p.Name == BasedataSettings.AQL.UseAbcClass)?.Value; dto.ItemPack_DefaultPackQty = settings.Find(p => p.Name == BasedataSettings.ItemPack.DefaultPackQty)?.Value; dto.Bom_DefaultMfgOp = settings.Find(p => p.Name == BasedataSettings.Bom.DefaultMfgOp)?.Value; return dto; } [HttpPut] public virtual async Task UpdateAsync(BasedataSettingsUpdateInput input) { await _settingManager.SetGlobalAsync(BasedataSettings.ItemStoreRelation.LocationTypes, input.ItemStoreRelation_LocationTypes).ConfigureAwait(false); await _settingManager.SetGlobalAsync(BasedataSettings.ItemStoreRelation.NotFoundReturnInfinity, input.ItemStoreRelation_NotFoundReturnInfinity).ConfigureAwait(false); await _settingManager.SetGlobalAsync(BasedataSettings.ErpLocationItem.NotFoundReturnInfinity, input.ErpLocationItem_NotFoundReturnInfinity).ConfigureAwait(false); await _settingManager.SetGlobalAsync(BasedataSettings.ItemQuality.NotFoundReturnExempt, input.ItemQuality_NotFoundReturnExempt).ConfigureAwait(false); await _settingManager.SetGlobalAsync(BasedataSettings.AQL.DefaultSampleQty, input.AQL_DefaultSampleQty).ConfigureAwait(false); await _settingManager.SetGlobalAsync(BasedataSettings.ItemPack.DefaultPackQty, input.ItemPack_DefaultPackQty).ConfigureAwait(false); await _settingManager.SetGlobalAsync(BasedataSettings.AQL.UseAbcClass, input.AQL_UseAbcClass).ConfigureAwait(false); await _settingManager.SetGlobalAsync(BasedataSettings.Bom.DefaultMfgOp, input.Bom_DefaultMfgOp).ConfigureAwait(false); } }