pan
2025-11-08 e83bd2f6a38957c0d47c9e0a6c6b2ca45836e114
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using Microsoft.AspNetCore.JsonPatch.Internal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_DTO.Basic;
using WIDESEA_Model.Models;
using WIDESEA_Model.Models.Basic;
 
namespace WIDESEA_IBasicService
{
    public interface IMaterialUnitService : IService<Dt_MaterialUnit>
    {
        IRepository<Dt_MaterialUnit> Repository { get; }
 
        Task<Dictionary<string, MaterialWithUnitConversionResult>> BatchConvertAsync(List<BatchConversionRequest> requests);
        Task<Dictionary<string, MaterialWithUnitConversionResult>> BatchConvertPurchaseToStockAsync(List<BatchConversionRequest> requests);
        Task<MaterialWithUnitConversionResult> ConvertAsync(string materialCode, decimal quantity, string fromUnit, string toUnit);
        Task<MaterialWithUnitConversionResult> ConvertIssueToStockAsync(string materialCode, decimal quantity);
        Task<MaterialWithUnitConversionResult> ConvertPurchaseToStockAsync(string materialCode, decimal quantity);
        Task<decimal?> GetConversionRatioAsync(string materialCode, string fromUnit, string toUnit);
        Task<string> GetIssueUnitAsync(string materialCode);
        Task<string> GetPurchaseUnitAsync(string materialCode);
        Task<string> GetStockUnitAsync(string materialCode);
    }
}