merchant onboarding process completed

This commit is contained in:
2025-08-06 16:11:02 +05:30
parent f90d1f0c57
commit 1a27e282e3
22 changed files with 768 additions and 19 deletions

View File

@ -0,0 +1,32 @@
using Singer_Hexdive.Models;
namespace Singer_Hexdive.Interfaces.RepositoryInterfaces
{
public interface IMerchantRepository
{
//-------------------------------------------Merchant_Onboarding_Start----------------------------------//
Task<object> GetM_PersonalDetailsAsync(int merchantId);
Task<object> PostM_PersonalDetailsAsync(MerchantPersonalDetail merchantPersonalDetail);
Task<object> GetM_BusinessDetailsAsync(int merchantId);
Task<object> PostM_BusinessDetailsAsync(MerchantBusinessDetail merchantBusinessDetail);
Task<object> PostM_ShareHolderDetailsAsync(MerchantShareHolders merchantShareHolders);
Task<object> PostM_DiretorDetailsAsync(MerchantDirectors merchantDirectors);
Task<object> GetM_BankDetailsAsync(int merchantId);
Task<object> PostM_BankDetailsAsync(MerchantBankDetails merchantBankDetails);
//Task<object> PostM_ReviewDetails(object payload);
//Task<object> PostM_CompleteOnboarding(object payload);
//-------------------------------------------Merchant_Onboarding_End----------------------------------//
//-------------------------------------------Merchant_Management_Start----------------------------------//
//Task<object> GetMerchantDetails(string merchantId);
//Task<object> UpdateMerchantDetails(string merchantId, object payload);
//Task<object> DeleteMerchant(string merchantId);
//-------------------------------------------Merchant_Management_End----------------------------------//
//-------------------------------------------Merchant_SupportFunctions_Start----------------------------//
Task<int> CheckApprovedStatus(int merchantId, string tableName);
//-------------------------------------------Merchant_SupportFunctions_End------------------------------//
}
}

View File

@ -0,0 +1,25 @@
using System.Text.Json;
namespace Singer_Hexdive.Interfaces.ServiceInterfaces
{
public abstract class BaseMerchantService
{
protected Dictionary<string, JsonElement> DeserializePayload(object payload)
{
if (payload is null)
throw new ArgumentNullException(nameof(payload));
var json = JsonSerializer.Serialize(payload);
return JsonSerializer.Deserialize<Dictionary<string, JsonElement>>(json)
?? throw new InvalidOperationException("Failed to deserialize payload.");
}
public abstract Task<object> GetM_PersonalDetails(object payload);
public abstract Task<object> PostM_PersonalDetails(object payload);
public abstract Task<object> GetM_BusinessDetails(object payload);
public abstract Task<object> PostM_BusinessDetails(object payload);
public abstract Task<object> GetM_BankDetails(object payload);
public abstract Task<object> PostM_BankDetails(object payload);
}
}