using CashLineERP.Contracts.Finance;

namespace CashLineERP.Application.Finance;

public interface IFixedAssetService
{
    IReadOnlyCollection<FixedAssetResponse> GetFixedAssets();

    FixedAssetResponse? GetFixedAsset(long fixedAssetId);

    FixedAssetResponse CreateFixedAsset(CreateFixedAssetRequest request);

    FixedAssetResponse SubmitFixedAsset(long fixedAssetId, long actorUserId);

    FixedAssetResponse ApproveFixedAsset(long fixedAssetId, long actorUserId);

    FixedAssetResponse CapitalizeFixedAsset(long fixedAssetId, long actorUserId);

    IReadOnlyCollection<FixedAssetDepreciationScheduleRowResponse> GetDepreciationSchedule(long fixedAssetId);
}
