[Add] MasterData Services.

This commit is contained in:
Thanakarn Klangkasame
2025-11-26 10:29:56 +07:00
parent d4ab1cb592
commit 1e636aa3d5
205 changed files with 7814 additions and 69 deletions

View File

@@ -16,7 +16,4 @@
<ProjectReference Include="..\AMREZ.EOP.Domain\AMREZ.EOP.Domain.csproj" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,9 @@
using AMREZ.EOP.Contracts.DTOs.ImportData.Location;
using Microsoft.AspNetCore.Http;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.ImportData.Location;
public interface ILocationImportUseCase
{
Task<LocationImportResultDto> ExecuteAsync(IFormFile file, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Allergen;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Allergen;
public interface ICreateAllergenUseCase
{
Task<AllergenResponse> ExecuteAsync(AllergenCreateRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,6 @@
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Allergen;
public interface IDeleteAllergenUseCase
{
Task<bool> ExecuteAsync(Guid id, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Allergen;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Allergen;
public interface IGetAllergenUseCase
{
Task<AllergenResponse?> ExecuteAsync(Guid id, CancellationToken ct = default);
}

View File

@@ -0,0 +1,9 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Allergen;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Allergen;
public interface IListAllergenUseCase
{
Task<PagedResponse<AllergenResponse>> ExecuteAsync(AllergenListRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Allergen;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Allergen;
public interface IUpdateAllergenUseCase
{
Task<AllergenResponse?> ExecuteAsync(Guid id, AllergenUpdateRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Brand;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Brand;
public interface ICreateBrandUseCase
{
Task<BrandResponse> ExecuteAsync(BrandCreateRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,6 @@
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Brand;
public interface IDeleteBrandUseCase
{
Task<bool> ExecuteAsync(Guid id, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Brand;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Brand;
public interface IGetBrandUseCase
{
Task<BrandResponse?> ExecuteAsync(Guid id, CancellationToken ct = default);
}

View File

@@ -0,0 +1,9 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Brand;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Brand;
public interface IListBrandsUseCase
{
Task<PagedResponse<BrandResponse>> ExecuteAsync(BrandListRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Brand;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Brand;
public interface IUpdateBrandUseCase
{
Task<BrandResponse?> ExecuteAsync(Guid id, BrandUpdateRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.District;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.District;
public interface IGetDistrictUseCase
{
Task<DistrictResponse?> ExecuteAsync(Guid id, CancellationToken ct = default);
}

View File

@@ -0,0 +1,9 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.District;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.District;
public interface IListDistrictsUseCase
{
Task<PagedResponse<DistrictResponse>> ExecuteAsync(DistrictListRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Province;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Province;
public interface IGetProvinceUseCase
{
Task<ProvinceResponse?> ExecuteAsync(Guid id, CancellationToken ct = default);
}

View File

@@ -0,0 +1,9 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Province;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Province;
public interface IListProvincesUseCase
{
Task<PagedResponse<ProvinceResponse>> ExecuteAsync(ProvinceListRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,8 @@
using AMREZ.EOP.Contracts.DTOs.MasterData.Subdistrict;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Subdistrict;
public interface IGetSubdistrictUseCase
{
Task<SubdistrictResponse?> ExecuteAsync(Guid id, CancellationToken ct = default);
}

View File

@@ -0,0 +1,9 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Subdistrict;
namespace AMREZ.EOP.Abstractions.Applications.UseCases.MasterData.Subdistrict;
public interface IListSubdistrictsUseCase
{
Task<PagedResponse<SubdistrictResponse>> ExecuteAsync(SubdistrictListRequest req, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Allergen;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IAllergenRepository
{
Task<Allergen?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Allergen>> SearchEffectiveAsync(Guid tenantId, AllergenListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Allergen entity, CancellationToken ct = default);
Task UpdateAsync(Allergen entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Brand;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IBrandRepository
{
Task<Brand?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Brand>> SearchEffectiveAsync(Guid tenantId, BrandListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Brand entity, CancellationToken ct = default);
Task UpdateAsync(Brand entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Category;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface ICategoryRepository
{
Task<Category?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Category>> SearchEffectiveAsync(Guid tenantId, CategoryListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Category entity, CancellationToken ct = default);
Task UpdateAsync(Category entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,6 @@
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IComplianceStatusRepository
{
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Country;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface ICountryRepository
{
Task<Country?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Country>> SearchEffectiveAsync(Guid tenantId, CountryListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Country entity, CancellationToken ct = default);
Task UpdateAsync(Country entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Currency;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface ICurrencyRepository
{
Task<Currency?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Currency>> SearchEffectiveAsync(Guid tenantId, CurrencyListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Currency entity, CancellationToken ct = default);
Task UpdateAsync(Currency entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,23 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.District;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IDistrictRepository
{
Task<District?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<District>> SearchEffectiveAsync(
Guid tenantId,
DistrictListRequest req,
CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(District entity, CancellationToken ct = default);
Task UpdateAsync(District entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.DocControlStatus;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IDocControlStatusRepository
{
Task<DocControlStatus?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<DocControlStatus>> SearchEffectiveAsync(Guid tenantId, DocControlStatusListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(DocControlStatus entity, CancellationToken ct = default);
Task UpdateAsync(DocControlStatus entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.FuncTest;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IFuncTestRepository
{
Task<FuncTest?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<FuncTest>> SearchEffectiveAsync(Guid tenantId, FuncTestListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(FuncTest entity, CancellationToken ct = default);
Task UpdateAsync(FuncTest entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.HazardClass;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IHazardClassRepository
{
Task<HazardClass?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<HazardClass>> SearchEffectiveAsync(Guid tenantId, HazardClassListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(HazardClass entity, CancellationToken ct = default);
Task UpdateAsync(HazardClass entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Language;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface ILanguageRepository
{
Task<Language?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Language>> SearchEffectiveAsync(Guid tenantId, LanguageListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Language entity, CancellationToken ct = default);
Task UpdateAsync(Language entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Manufacturer;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IManufacturerRepository
{
Task<Manufacturer?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Manufacturer>> SearchEffectiveAsync(Guid tenantId, ManufacturerListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Manufacturer entity, CancellationToken ct = default);
Task UpdateAsync(Manufacturer entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Market;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IMarketRepository
{
Task<Market?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Market>> SearchEffectiveAsync(Guid tenantId, MarketListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Market entity, CancellationToken ct = default);
Task UpdateAsync(Market entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.PackingGroup;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IPackingGroupRepository
{
Task<PackingGroup?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<PackingGroup>> SearchEffectiveAsync(Guid tenantId, PackingGroupListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(PackingGroup entity, CancellationToken ct = default);
Task UpdateAsync(PackingGroup entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,23 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Province;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IProvinceRepository
{
Task<Province?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Province>> SearchEffectiveAsync(
Guid tenantId,
ProvinceListRequest req,
CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Province entity, CancellationToken ct = default);
Task UpdateAsync(Province entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.QaStage;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IQaStageRepository
{
Task<QaStage?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<QaStage>> SearchEffectiveAsync(Guid tenantId, QaStageListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(QaStage entity, CancellationToken ct = default);
Task UpdateAsync(QaStage entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.QcStatus;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IQcStatusRepository
{
Task<QcStatus?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<QcStatus>> SearchEffectiveAsync(Guid tenantId, QcStatusListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(QcStatus entity, CancellationToken ct = default);
Task UpdateAsync(QcStatus entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.RecallClass;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IRecallClassRepository
{
Task<RecallClass?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<RecallClass>> SearchEffectiveAsync(Guid tenantId, RecallClassListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(RecallClass entity, CancellationToken ct = default);
Task UpdateAsync(RecallClass entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.RiskClass;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IRiskClassRepository
{
Task<RiskClass?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<RiskClass>> SearchEffectiveAsync(Guid tenantId, RiskClassListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(RiskClass entity, CancellationToken ct = default);
Task UpdateAsync(RiskClass entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Route;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IRouteRepository
{
Task<Route?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Route>> SearchEffectiveAsync(Guid tenantId, RouteListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Route entity, CancellationToken ct = default);
Task UpdateAsync(Route entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.RxSchedule;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IRxScheduleRepository
{
Task<RxSchedule?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<RxSchedule>> SearchEffectiveAsync(Guid tenantId, RxScheduleListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(RxSchedule entity, CancellationToken ct = default);
Task UpdateAsync(RxSchedule entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Species;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface ISpeciesRepository
{
Task<Species?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Species>> SearchEffectiveAsync(Guid tenantId, SpeciesListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Species entity, CancellationToken ct = default);
Task UpdateAsync(Species entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.StabilityStatus;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IStabilityStatusRepository
{
Task<StabilityStatus?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<StabilityStatus>> SearchEffectiveAsync(Guid tenantId, StabilityStatusListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(StabilityStatus entity, CancellationToken ct = default);
Task UpdateAsync(StabilityStatus entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.SterilizationMethod;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface ISterilizationMethodRepository
{
Task<SterilizationMethod?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<SterilizationMethod>> SearchEffectiveAsync(Guid tenantId, SterilizationMethodListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(SterilizationMethod entity, CancellationToken ct = default);
Task UpdateAsync(SterilizationMethod entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,23 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Subdistrict;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface ISubdistrictRepository
{
Task<Subdistrict?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Subdistrict>> SearchEffectiveAsync(
Guid tenantId,
SubdistrictListRequest req,
CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Subdistrict entity, CancellationToken ct = default);
Task UpdateAsync(Subdistrict entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Uom;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IUomRepository
{
Task<Uom?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Uom>> SearchEffectiveAsync(Guid tenantId, UomListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Uom entity, CancellationToken ct = default);
Task UpdateAsync(Uom entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}

View File

@@ -0,0 +1,15 @@
using AMREZ.EOP.Contracts.DTOs.Common;
using AMREZ.EOP.Contracts.DTOs.MasterData.Vvm;
using AMREZ.EOP.Domain.Entities.MasterData;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IVvmRepository
{
Task<Vvm?> GetAsync(Guid id, CancellationToken ct = default);
Task<PagedResponse<Vvm>> SearchEffectiveAsync(Guid tenantId, VvmListRequest req, CancellationToken ct = default);
Task<bool> CodeExistsAsync(Guid tenantId, string code, CancellationToken ct = default);
Task AddAsync(Vvm entity, CancellationToken ct = default);
Task UpdateAsync(Vvm entity, CancellationToken ct = default);
Task<int> SoftDeleteAsync(Guid id, Guid tenantId, CancellationToken ct = default);
}