bale
This commit is contained in:
@@ -3,5 +3,6 @@
|
||||
public enum Gender
|
||||
{
|
||||
Male,
|
||||
Female
|
||||
Female,
|
||||
None
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain;
|
||||
using Company.Domain.empolyerAgg;
|
||||
using Company.Domain.RepresentativeAgg;
|
||||
@@ -72,6 +73,11 @@ public class PersonalContractingParty : EntityBase
|
||||
/// </summary>
|
||||
public bool IsAuthenticated { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// جنسیت
|
||||
/// </summary>
|
||||
public Gender Gender { get; private set; }
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -194,4 +200,17 @@ public class PersonalContractingParty : EntityBase
|
||||
{
|
||||
IsAuthenticated = true;
|
||||
}
|
||||
|
||||
public void Authentication(string fName, string lName, string fatherName,string idNumber, string idNumberSeri, string idNumberSerial, string dateOfBirth, Gender gender)
|
||||
{
|
||||
this.FName = fName;
|
||||
this.LName = lName;
|
||||
this.FatherName = fatherName;
|
||||
this.IdNumberSeri = idNumberSeri;
|
||||
this.IdNumberSerial = idNumberSerial;
|
||||
this.DateOfBirth = !string.IsNullOrWhiteSpace(dateOfBirth) ? dateOfBirth.ToGeorgianDateTime() : null;
|
||||
this.IdNumber = idNumber;
|
||||
this.Gender = gender;
|
||||
this.IsAuthenticated = true;
|
||||
}
|
||||
}
|
||||
@@ -10,5 +10,5 @@ public interface IContractingPartyTempRepository :IRepository<long, ContractingP
|
||||
/// </summary>
|
||||
/// <param name="nationalCode"></param>
|
||||
/// <returns></returns>
|
||||
bool CheckExistOrAuthenticated(string nationalCode);
|
||||
bool CheckExistOrAuthenticated(string nationalCode, string dateOfBirth);
|
||||
}
|
||||
@@ -4,5 +4,5 @@ namespace CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||
|
||||
public interface ITemporaryClientRegistrationApplication
|
||||
{
|
||||
OperationResult CreateContractingPartyTemp(CreateContractingPartyTemp command);
|
||||
OperationResult CreateContractingPartyTemp(string nationalCode, string dateOfBirth);
|
||||
}
|
||||
@@ -16,14 +16,15 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
_personalContractingPartyRepository = personalContractingPartyRepository;
|
||||
}
|
||||
|
||||
public OperationResult CreateContractingPartyTemp(CreateContractingPartyTemp command)
|
||||
public OperationResult CreateContractingPartyTemp(string nationalCode , string dateOfBirth)
|
||||
{
|
||||
var getExistContractingParty = _contractingPartyTempRepository.CheckExistOrAuthenticated(command.NationalCode);
|
||||
var op = new OperationResult();
|
||||
var getExistContractingParty = _contractingPartyTempRepository.CheckExistOrAuthenticated(nationalCode, dateOfBirth);
|
||||
|
||||
//اگر طرف حساب قبلا در دیتابیس وجود داشت
|
||||
if (getExistContractingParty)
|
||||
{
|
||||
|
||||
return op.Failed("طرف حساب با این مشخصات در سیستم وجود دارد");
|
||||
}
|
||||
//اگر طرف حساب وجود نداشت
|
||||
else
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using Company.Domain.ContarctingPartyAgg;
|
||||
using System;
|
||||
using _0_Framework.Application;
|
||||
using Company.Domain.ContarctingPartyAgg;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
@@ -37,7 +39,9 @@ public class PersonalContractingpartyMapping : IEntityTypeConfiguration<Personal
|
||||
builder.Property(x => x.IdNumberSerial).HasMaxLength(15);
|
||||
builder.Property(x => x.FatherName).HasMaxLength(20);
|
||||
builder.Property(x => x.DateOfBirth).IsRequired(false);
|
||||
|
||||
builder.Property(x => x.Gender).HasConversion(
|
||||
v => v.ToString(),
|
||||
v => string.IsNullOrWhiteSpace(v) ? Gender.None : (Gender)Enum.Parse(typeof(Gender), v)).HasMaxLength(6);
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
8979
CompanyManagment.EFCore/Migrations/20250318125026_addGenderToPersonalContractingParty.Designer.cs
generated
Normal file
8979
CompanyManagment.EFCore/Migrations/20250318125026_addGenderToPersonalContractingParty.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,60 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addGenderToPersonalContractingParty : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Gender",
|
||||
table: "PersonalContractingParties",
|
||||
type: "nvarchar(6)",
|
||||
maxLength: 6,
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ContractingPartyTemp",
|
||||
columns: table => new
|
||||
{
|
||||
id = table.Column<long>(type: "bigint", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
FName = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: false),
|
||||
LName = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: false),
|
||||
FatherName = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: true),
|
||||
Gender = table.Column<string>(type: "nvarchar(6)", maxLength: 6, nullable: false),
|
||||
NationalCode = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: false),
|
||||
DateOfBirth = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
IdNumberSeri = table.Column<string>(type: "nvarchar(5)", maxLength: 5, nullable: true),
|
||||
IdNumberSerial = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: true),
|
||||
IdNumber = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: true),
|
||||
Phone = table.Column<string>(type: "nvarchar(12)", maxLength: 12, nullable: true),
|
||||
State = table.Column<string>(type: "nvarchar(35)", maxLength: 35, nullable: true),
|
||||
City = table.Column<string>(type: "nvarchar(35)", maxLength: 35, nullable: true),
|
||||
Address = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
||||
CreationDate = table.Column<DateTime>(type: "datetime2", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ContractingPartyTemp", x => x.id);
|
||||
});
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "ContractingPartyTemp");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Gender",
|
||||
table: "PersonalContractingParties");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -570,6 +570,11 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("nvarchar(20)");
|
||||
|
||||
b.Property<string>("Gender")
|
||||
.IsRequired()
|
||||
.HasMaxLength(6)
|
||||
.HasColumnType("nvarchar(6)");
|
||||
|
||||
b.Property<string>("IdNumber")
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("nvarchar(20)");
|
||||
@@ -4780,6 +4785,77 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.ToTable("TaxLeftWorkItem", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.ContractingPartyTemp", b =>
|
||||
{
|
||||
b.Property<long>("id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
|
||||
|
||||
b.Property<string>("Address")
|
||||
.HasMaxLength(500)
|
||||
.HasColumnType("nvarchar(500)");
|
||||
|
||||
b.Property<string>("City")
|
||||
.HasMaxLength(35)
|
||||
.HasColumnType("nvarchar(35)");
|
||||
|
||||
b.Property<DateTime>("CreationDate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<DateTime>("DateOfBirth")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<string>("FName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b.Property<string>("FatherName")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b.Property<string>("Gender")
|
||||
.IsRequired()
|
||||
.HasMaxLength(6)
|
||||
.HasColumnType("nvarchar(6)");
|
||||
|
||||
b.Property<string>("IdNumber")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("nvarchar(10)");
|
||||
|
||||
b.Property<string>("IdNumberSeri")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
|
||||
b.Property<string>("IdNumberSerial")
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("nvarchar(15)");
|
||||
|
||||
b.Property<string>("LName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b.Property<string>("NationalCode")
|
||||
.IsRequired()
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("nvarchar(10)");
|
||||
|
||||
b.Property<string>("Phone")
|
||||
.HasMaxLength(12)
|
||||
.HasColumnType("nvarchar(12)");
|
||||
|
||||
b.Property<string>("State")
|
||||
.HasMaxLength(35)
|
||||
.HasColumnType("nvarchar(35)");
|
||||
|
||||
b.HasKey("id");
|
||||
|
||||
b.ToTable("ContractingPartyTemp", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b =>
|
||||
{
|
||||
b.Property<long>("id")
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Application.UID;
|
||||
using _0_Framework.InfraStructure;
|
||||
using AccountMangement.Infrastructure.EFCore.Migrations;
|
||||
using Company.Domain.TemporaryClientRegistrationAgg;
|
||||
using CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
@@ -18,34 +19,24 @@ public class ContractingPartyTempRepository : RepositoryBase<long, ContractingPa
|
||||
_uidService = uidService;
|
||||
}
|
||||
|
||||
//(long id, bool IsAuthenticated) CheckExistOrAuthenticated(string nationalCode)
|
||||
//{
|
||||
// //return _context.PersonalContractingParties.Select(x=>new PersonalContractingPartyViewModel
|
||||
// //{
|
||||
// // id = x.id,
|
||||
// // IsAuthenticated = x.IsAuthenticated,
|
||||
// // Nationalcode = x.Nationalcode,
|
||||
// // IdNumber = x.IdNumber,
|
||||
|
||||
|
||||
// //}).FirstOrDefault(x => x.Nationalcode == nationalcode);
|
||||
|
||||
// return new();
|
||||
//}
|
||||
public bool CheckExistOrAuthenticated(string nationalCode)
|
||||
public bool CheckExistOrAuthenticated(string nationalCode, string dateOfBirth)
|
||||
{
|
||||
var contractingParty = _context.PersonalContractingParties.FirstOrDefault(x=>x.Nationalcode == nationalCode);
|
||||
var contractingParty = _context.PersonalContractingParties.FirstOrDefault(x=>x.Nationalcode == nationalCode && x.IsLegal == "false");
|
||||
if (contractingParty == null)
|
||||
return false;
|
||||
|
||||
if (!contractingParty.IsAuthenticated && !string.IsNullOrWhiteSpace(contractingParty.Nationalcode) && contractingParty.DateOfBirth != null)
|
||||
if (!contractingParty.IsAuthenticated && !string.IsNullOrWhiteSpace(contractingParty.Nationalcode))
|
||||
{
|
||||
|
||||
var dateOfbirth = contractingParty.DateOfBirth.ToFarsi();
|
||||
var apiRespons = _uidService.GetPersonalInfo(contractingParty.Nationalcode, dateOfbirth).Result;
|
||||
if (apiRespons != null)
|
||||
if (apiRespons != null && apiRespons.ResponseContext.Status.Code == 0)
|
||||
{
|
||||
|
||||
var idNumber = apiRespons.IdentificationInformation.ShenasnamehNumber == "0"
|
||||
? apiRespons.IdentificationInformation.NationalId
|
||||
: apiRespons.IdentificationInformation.ShenasnamehNumber;
|
||||
contractingParty.Authentication(apiRespons.BasicInformation.FirstName, apiRespons.BasicInformation.LastName,apiRespons.BasicInformation.FatherName,idNumber,apiRespons.IdentificationInformation.ShenasnameSeri,apiRespons.IdentificationInformation.ShenasnameSerial, apiRespons.IdentificationInformation.BirthDate,apiRespons.BasicInformation.GenderEnum);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user