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,14 @@
using System.ComponentModel.DataAnnotations.Schema;
namespace Singer_Hexdive.Models.IOs
{
[NotMapped]
public class ApiRequest
{
public string FunctionName { get; set; }
public object Payload { get; set; }
public string Reference { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations.Schema;
namespace Singer_Hexdive.Models.IOs
{
[NotMapped]
public class ApiResponse<T>
{
public int StatusCode { get; set; }
public string Message { get; set; }
public T Data { get; set; }
}
}

View File

@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace Singer_Hexdive.Models
{
public class IdentificationType
{
[Key]
public int Id { get; set; }
public string IdType { get; set; }
public DateTime CreateAt { get; set; }
}
}

View File

@ -0,0 +1,25 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using Singer_Hexdive.Enums;
namespace Singer_Hexdive.Models
{
public class MerchantBankDetails
{
[Key]
public int Id { get; set; }
public int FK_MId { get; set; }
[ForeignKey("FK_MId")]
public MerchantPersonalDetail MerchantPersonalDetail { get; set; }
public string CurrencyCode { get; set; }
public BankAccountTypes BankAccountTypes { get; set; }
public string M_BankName { get; set; }
public string M_BankBranchName { get; set; }
public int M_BankAccNum { get; set; }
public string M_BankAccHolderName { get; set; }
public string M_BankHolderIdNum { get; set; }
public string M_PhoneNum { get; set; }
public ApprovedStatus ApprovedStatus { get; set; } = ApprovedStatus.pending;
public DateTime CreatedAt { get; set; }
}
}

View File

@ -0,0 +1,26 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using Singer_Hexdive.Enums;
namespace Singer_Hexdive.Models
{
public class MerchantBusinessDetail
{
[Key]
public int Id { get; set; }
public int FK_MechantId { get; set; }
[ForeignKey("FK_MechantId")]
public MerchantPersonalDetail merchantPersonalDetail { get; set; }
public string BusinessName { get; set; }
public string BusinessDoingName { get; set; }
public string BusinessRegNum { get; set; }
public string BusinessIncomeTaxNum { get; set; }
public DateTime BusinessRegDate { get; set; }
public DateTime BusinessIncomeDate { get; set; }
public string BusinessAddress { get; set; }
public string BusinessCity { get; set; }
public int PostalCode { get; set; }
public ApprovedStatus ApprovedStatus { get; set; } = ApprovedStatus.pending;
public DateTime CreatedAt { get; set; }
}
}

View File

@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Singer_Hexdive.Models
{
public class MerchantDirectors
{
[Key]
public int DirectorId { get; set; }
public int FK_MBusinessId { get; set; }
[ForeignKey("FK_MBusinessId")]
public MerchantBusinessDetail MerchantBusinessDetail { get; set; }
public string D_FullName { get; set; }
public string D_IdNumber { get; set; }
public DateTime Birthday { get; set; }
public string D_MobileNumber { get; set; }
public string D_Address { get; set; }
public DateTime createdAt { get; set; } = DateTime.Now;
}
}

View File

@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using Singer_Hexdive.Enums;
namespace Singer_Hexdive.Models
{
public class MerchantPersonalDetail
{
[Key]
public int MechantId { get; set; }
public string MerchantName { get; set; }
public int FK_IdType { get; set; }
[ForeignKey("FK_IdType")]
public IdentificationType IdentificationType { get; set; }
public string M_IdNumber { get; set; }
public string M_Email { get; set; }
public string M_Mobile_Primary { get; set; }
public string? M_Mobile_Secondary { get; set; }
public string M_Address { get; set; }
public string M_City { get; set; }
public int M_PostalCode { get; set; }
public DateTime OnboardDate { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.Now;
public bool IsActive { get; set; } = true;
public ApprovedStatus ApprovedStatus { get; set; } = ApprovedStatus.pending;
}
}

View File

@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Singer_Hexdive.Models
{
public class MerchantShareHolders
{
[Key]
public int ShareHolderId { get; set; }
public int FK_MBusinessId { get; set; }
[ForeignKey("FK_MBusinessId")]
public MerchantBusinessDetail MerchantBusinessDetail { get; set; }
public string S_FullName { get; set; }
public string S_IdNumber { get; set; }
public DateTime Bithday { get; set; }
public string S_MobileNumber { get; set; }
public string S_Address { get; set; }
public decimal S_SharePercentage { get; set; }
public DateTime createdAt { get; set; } = DateTime.Now;
}
}