feat: add geography entities with countries, states and cities
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
using CMSMicroservice.Domain.Common;
|
||||
|
||||
namespace CMSMicroservice.Domain.Entities.Geography;
|
||||
|
||||
/// <summary>
|
||||
/// شهر - City
|
||||
/// </summary>
|
||||
public class City : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه یکتا
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه خارجی (External ID)
|
||||
/// </summary>
|
||||
public long ExternalId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام شهر
|
||||
/// </summary>
|
||||
public required string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// عرض جغرافیایی
|
||||
/// </summary>
|
||||
public required string Latitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// طول جغرافیایی
|
||||
/// </summary>
|
||||
public required string Longitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام بومی شهر (فارسی یا زبان محلی)
|
||||
/// </summary>
|
||||
public required string Native { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه استان متعلق
|
||||
/// </summary>
|
||||
public long StateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// استان متعلق
|
||||
/// </summary>
|
||||
public virtual State State { get; set; } = null!;
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
using CMSMicroservice.Domain.Common;
|
||||
|
||||
namespace CMSMicroservice.Domain.Entities.Geography;
|
||||
|
||||
/// <summary>
|
||||
/// کشور - Country
|
||||
/// </summary>
|
||||
public class Country : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه یکتا
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه خارجی (External ID)
|
||||
/// </summary>
|
||||
public long ExternalId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کشور (انگلیسی)
|
||||
/// </summary>
|
||||
public required string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد ISO3 (3 حرفی)
|
||||
/// </summary>
|
||||
public required string Iso3 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد ISO2 (2 حرفی)
|
||||
/// </summary>
|
||||
public required string Iso2 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد عددی کشور
|
||||
/// </summary>
|
||||
public required string NumericCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد تلفن کشور (مثلاً 98 برای ایران)
|
||||
/// </summary>
|
||||
public required string PhoneCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// پایتخت
|
||||
/// </summary>
|
||||
public required string Capital { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// واحد پول (کد ارز)
|
||||
/// </summary>
|
||||
public required string Currency { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام واحد پول
|
||||
/// </summary>
|
||||
public required string CurrencyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نماد واحد پول
|
||||
/// </summary>
|
||||
public required string CurrencySymbol { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Top-Level Domain (مثلاً .ir)
|
||||
/// </summary>
|
||||
public required string Tld { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام بومی کشور (فارسی یا زبان محلی)
|
||||
/// </summary>
|
||||
public required string Native { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// منطقه جغرافیایی (مثلاً Asia)
|
||||
/// </summary>
|
||||
public required string Region { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// زیرمنطقه (مثلاً Southern Asia)
|
||||
/// </summary>
|
||||
public required string Subregion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// عرض جغرافیایی
|
||||
/// </summary>
|
||||
public required string Latitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// طول جغرافیایی
|
||||
/// </summary>
|
||||
public required string Longitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ایموجی پرچم کشور
|
||||
/// </summary>
|
||||
public required string Emoji { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد یونیکد ایموجی
|
||||
/// </summary>
|
||||
public required string EmojiU { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// استانهای این کشور
|
||||
/// </summary>
|
||||
public virtual ICollection<State> States { get; set; } = new List<State>();
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
using CMSMicroservice.Domain.Common;
|
||||
|
||||
namespace CMSMicroservice.Domain.Entities.Geography;
|
||||
|
||||
/// <summary>
|
||||
/// استان - State/Province
|
||||
/// </summary>
|
||||
public class State : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه یکتا
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه خارجی (External ID)
|
||||
/// </summary>
|
||||
public long ExternalId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام استان
|
||||
/// </summary>
|
||||
public required string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد استان
|
||||
/// </summary>
|
||||
public required string StateCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// عرض جغرافیایی
|
||||
/// </summary>
|
||||
public required string Latitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// طول جغرافیایی
|
||||
/// </summary>
|
||||
public required string Longitude { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع استان (province, state, etc.)
|
||||
/// </summary>
|
||||
public required string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام بومی استان (فارسی یا زبان محلی)
|
||||
/// </summary>
|
||||
public required string Native { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه کشور متعلق
|
||||
/// </summary>
|
||||
public long CountryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کشور متعلق
|
||||
/// </summary>
|
||||
public virtual Country Country { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// شهرهای این استان
|
||||
/// </summary>
|
||||
public virtual ICollection<City> Cities { get; set; } = new List<City>();
|
||||
}
|
||||
@@ -2,6 +2,6 @@ namespace CMSMicroservice.Domain.Enums;
|
||||
//قراردادها
|
||||
public enum ContractType
|
||||
{
|
||||
Main = 0,
|
||||
CMS = 1,
|
||||
Main = 0, // قرارداد ثبتنام اولیه
|
||||
ClubMembership = 1, // قرارداد باشگاه مشتریان
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user