diff --git a/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs b/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs
index 81058985..abe676c0 100644
--- a/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs
+++ b/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs
@@ -222,7 +222,8 @@ 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)
+ public void Authentication(string fName, string lName, string fatherName,string idNumber,
+ string idNumberSeri, string idNumberSerial, string dateOfBirth, Gender gender,string phone)
{
this.FName = fName;
this.LName = lName;
@@ -233,10 +234,11 @@ public class PersonalContractingParty : EntityBase
this.IdNumber = idNumber;
this.Gender = gender;
this.IsAuthenticated = true;
+ Phone = phone;
}
public void LegalAuthentication(string fName, string lName, string fatherName,string idNumber, string idNumberSeri,
- string idNumberSerial, string dateOfBirth, Gender gender)
+ string idNumberSerial, string dateOfBirth, Gender gender,string phone)
{
CeoFName = fName;
CeoLName = lName;
@@ -247,6 +249,7 @@ public class PersonalContractingParty : EntityBase
this.IdNumber = idNumber;
this.Gender = gender;
this.IsAuthenticated = true;
+ Phone = phone;
}
public void RegisterComplete(string fatherName, string idNumberSeri, string idNumberSerial, DateTime dateOfBirth, Gender gender)
diff --git a/Company.Domain/InstitutionContractInsertTempAgg/InstitutionContractExtensionTemp.cs b/Company.Domain/InstitutionContractInsertTempAgg/InstitutionContractExtensionTemp.cs
index fb05d84c..219c6dbe 100644
--- a/Company.Domain/InstitutionContractInsertTempAgg/InstitutionContractExtensionTemp.cs
+++ b/Company.Domain/InstitutionContractInsertTempAgg/InstitutionContractExtensionTemp.cs
@@ -98,7 +98,7 @@ public class InstitutionContractExtensionTempWorkshop
{
public InstitutionContractExtensionTempWorkshop(string workshopName, int countPerson, bool contractAndCheckout, bool contractAndCheckoutInPerson,
bool insurance, bool insuranceInPerson,
- bool rollCall,bool rollCallInPerson, bool customizeCheckout,double price)
+ bool rollCall,bool rollCallInPerson, bool customizeCheckout,double price,long workshopId)
{
WorkshopName = workshopName;
CountPerson = countPerson;
@@ -110,8 +110,11 @@ public class InstitutionContractExtensionTempWorkshop
InsuranceInPerson = insuranceInPerson;
RollCallInPerson = rollCallInPerson;
Price = price;
+ WorkshopId = workshopId;
}
+ public long WorkshopId { get; set; }
+
///
/// نام کارگاه
///
diff --git a/CompanyManagment.App.Contracts/TemporaryClientRegistration/WorkshopTempViewModel.cs b/CompanyManagment.App.Contracts/TemporaryClientRegistration/WorkshopTempViewModel.cs
index dd4a5afc..21f9b570 100644
--- a/CompanyManagment.App.Contracts/TemporaryClientRegistration/WorkshopTempViewModel.cs
+++ b/CompanyManagment.App.Contracts/TemporaryClientRegistration/WorkshopTempViewModel.cs
@@ -15,4 +15,6 @@ public class WorkshopTempViewModel : CreateWorkshopTemp
/// فارسی
///
public string WorkshopServicesAmountStr { get; set; }
+
+ public long WorkshopId { get; set; }
}
\ No newline at end of file
diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs
index 14fa1f47..816867c7 100644
--- a/CompanyManagment.Application/InstitutionContractApplication.cs
+++ b/CompanyManagment.Application/InstitutionContractApplication.cs
@@ -1343,7 +1343,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
if (request.IsAuth)
{
legalContractingParty.LegalAuthentication(request.FName,request.LName,request.FatherName,
- request.IdNumber,null,null,request.BirthDateFa,request.Gender);
+ request.IdNumber,null,null,request.BirthDateFa,request.Gender,request.PhoneNumber);
}
await _contractingPartyRepository.CreateAsync(legalContractingParty);
@@ -1388,7 +1388,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
if (request.IsAuth)
{
personalContractingParty.Authentication(request.FName, request.LName, request.FatherName,
- request.IdNumber, null,null, request.BirthDateFa, request.Gender);
+ request.IdNumber, null,null, request.BirthDateFa, request.Gender,request.PhoneNumber);
}
await _contractingPartyRepository.CreateAsync(personalContractingParty);
diff --git a/CompanyManagment.Application/TemporaryClientRegistrationApplication.cs b/CompanyManagment.Application/TemporaryClientRegistrationApplication.cs
index 5fade095..b376875f 100644
--- a/CompanyManagment.Application/TemporaryClientRegistrationApplication.cs
+++ b/CompanyManagment.Application/TemporaryClientRegistrationApplication.cs
@@ -111,15 +111,22 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
if (contractingParty.DateOfBirth != null &&contractingParty.DateOfBirth != dateOfBirthGr)
return op.Failed("تاریخ تولد مطابقت ندارد");
- if (contractingParty.Phone != mobile)
- return op.Failed("شما قبلا با شماره همراه دیگری ثبت نام نموده اید");
+
var idNumberParty = contractingParty.IdNumber;
if (!contractingParty.IsAuthenticated)
{
+
//دریافت اطلاعات احراز هویت
var apiResponsParty = await _uidService.GetPersonalInfo(nationalCode, dateOfBirth);
-
+
+ //چک کردن مطابقت شماره همراه و کد ملی
+ var isMachMobilAndNationalCode = await _uidService.IsMachPhoneWithNationalCode(nationalCode, mobile);
+ if (isMachMobilAndNationalCode == null)
+ return op.Failed("خطا در سرویس احراز هویت");
+ if (!isMachMobilAndNationalCode.IsMatched)
+ return op.Failed("شماره همراه وارد شده با کد ملی مطابقت ندارد");
+
if (apiResponsParty == null)
throw new InternalServerException("خطا در سرویس احراز هویت");
@@ -135,13 +142,16 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
contractingParty.Authentication(apiResponsParty.BasicInformation.FirstName, apiResponsParty.BasicInformation.LastName,
apiResponsParty.BasicInformation.FatherName,idNumberParty,apiResponsParty.IdentificationInformation.ShenasnameSeri,
- apiResponsParty.IdentificationInformation.ShenasnameSerial,dateOfBirth,apiResponsParty.BasicInformation.GenderEnum);
+ apiResponsParty.IdentificationInformation.ShenasnameSerial,dateOfBirth,apiResponsParty.BasicInformation.GenderEnum,
+ mobile);
await _contractingPartyTempRepository.SaveChangesAsync();
}
+ if (contractingParty.Phone != mobile)
+ return op.Failed("شما قبلا با شماره همراه دیگری احراز هویت شده اید");
result.Id = contractingParty.id;
result.FName = contractingParty.FName;
@@ -160,71 +170,74 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
return op.Succcedded(result);
}
- //اگر طرف حساب موقت قبلا ایجاد شده دیتای آن را برمیگرداند
- if (getExistTemp != null)
+ else
{
- var institutionContractTemp = await
- _institutionContractTempRepository.GetInstitutionContractTemp(0, getExistTemp.Id);
-
- if (institutionContractTemp != null)
+ //اگر طرف حساب موقت قبلا ایجاد شده دیتای آن را برمیگرداند
+ if (getExistTemp != null)
{
- if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.Completed)
- return op.Failed("شما قبلا ثبت نام خود را تکمیل نموده اید");
+ var institutionContractTemp = await
+ _institutionContractTempRepository.GetInstitutionContractTemp(0, getExistTemp.Id);
+
+ if (institutionContractTemp != null)
+ {
+ if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.Completed)
+ return op.Failed("شما قبلا ثبت نام خود را تکمیل نموده اید");
+ }
+
+
+
+ if (getExistTemp.DateOfBirth != dateOfBirthGr)
+ return op.Failed("تاریخ تولد مطابقت ندارد");
+ if (getExistTemp.Phone != mobile)
+ return op.Failed("شما قبلا با شماره همراه دیگری ثبت نام نموده اید");
+ return op.Succcedded(getExistTemp);
}
-
+
+ //چک کردن مطابقت شماره همراه و کد ملی
+ var isMachMobilAndNationalCode = await _uidService.IsMachPhoneWithNationalCode(nationalCode, mobile);
+ if (isMachMobilAndNationalCode == null)
+ return op.Failed("خطا در سرویس احراز هویت");
+ if (!isMachMobilAndNationalCode.IsMatched)
+ return op.Failed("شماره همراه وارد شده با کد ملی مطابقت ندارد");
+
+ //دریافت اطلاعات احراز هویت
+ var apiRespons = await _uidService.GetPersonalInfo(nationalCode, dateOfBirth);
+
+ if (apiRespons == null)
+ throw new InternalServerException("خطا در سرویس احراز هویت");
+
+ if (apiRespons.ResponseContext.Status.Code == 14)
+ throw new InternalServerException("سیستم احراز هویت در دسترس نمی باشد");
+
+ if (apiRespons.ResponseContext.Status.Code != 0)
+ return op.Failed($"{apiRespons.ResponseContext.Status.Message}");
+
+ var idNumber = apiRespons.IdentificationInformation.ShenasnamehNumber == "0"
+ ? apiRespons.IdentificationInformation.NationalId
+ : apiRespons.IdentificationInformation.ShenasnamehNumber;
+
+ //ایجاد طرف حساب موقت
+ var createTemp = new ContractingPartyTemp(apiRespons.BasicInformation.FirstName,
+ apiRespons.BasicInformation.LastName, nationalCode, idNumber, mobile,
+ apiRespons.BasicInformation.FatherName, "", "", "",
+ apiRespons.IdentificationInformation.ShenasnameSeri,
+ apiRespons.IdentificationInformation.ShenasnameSerial, apiRespons.BasicInformation.GenderEnum,
+ dateOfBirthGr);
+ await _contractingPartyTempRepository.CreateAsync(createTemp);
+ await _contractingPartyTempRepository.SaveChangesAsync();
+
+ result.Id = createTemp.id;
+ result.FName = createTemp.FName;
+ result.LName = createTemp.LName;
+ result.DateOfBirthFa = dateOfBirth;
+ result.FatherName = createTemp.FatherName;
+ result.IdNumberSerial = createTemp.IdNumberSerial;
+ result.IdNumber = idNumber;
+ result.NationalCode = createTemp.NationalCode;
- if (getExistTemp.DateOfBirth != dateOfBirthGr)
- return op.Failed("تاریخ تولد مطابقت ندارد");
- if (getExistTemp.Phone != mobile)
- return op.Failed("شما قبلا با شماره همراه دیگری ثبت نام نموده اید");
- return op.Succcedded(getExistTemp);
+ return op.Succcedded(result);
}
-
- //چک کردن مطابقت شماره همراه و کد ملی
- var isMachMobilAndNationalCode = await _uidService.IsMachPhoneWithNationalCode(nationalCode, mobile);
- if (isMachMobilAndNationalCode == null)
- return op.Failed("خطا در سرویس احراز هویت");
- if (!isMachMobilAndNationalCode.IsMatched)
- return op.Failed("شماره همراه وارد شده با کد ملی مطابقت ندارد");
-
- //دریافت اطلاعات احراز هویت
- var apiRespons = await _uidService.GetPersonalInfo(nationalCode, dateOfBirth);
-
- if (apiRespons == null)
- throw new InternalServerException("خطا در سرویس احراز هویت");
-
- if (apiRespons.ResponseContext.Status.Code ==14)
- throw new InternalServerException("سیستم احراز هویت در دسترس نمی باشد");
-
- if (apiRespons.ResponseContext.Status.Code != 0)
- return op.Failed($"{apiRespons.ResponseContext.Status.Message}");
-
- var idNumber = apiRespons.IdentificationInformation.ShenasnamehNumber == "0"
- ? apiRespons.IdentificationInformation.NationalId
- : apiRespons.IdentificationInformation.ShenasnamehNumber;
-
- //ایجاد طرف حساب موقت
- var createTemp = new ContractingPartyTemp(apiRespons.BasicInformation.FirstName,
- apiRespons.BasicInformation.LastName, nationalCode, idNumber, mobile,
- apiRespons.BasicInformation.FatherName, "", "", "",
- apiRespons.IdentificationInformation.ShenasnameSeri,
- apiRespons.IdentificationInformation.ShenasnameSerial, apiRespons.BasicInformation.GenderEnum,
- dateOfBirthGr);
- await _contractingPartyTempRepository.CreateAsync(createTemp);
- await _contractingPartyTempRepository.SaveChangesAsync();
-
- result.Id = createTemp.id;
- result.FName = createTemp.FName;
- result.LName = createTemp.LName;
- result.DateOfBirthFa = dateOfBirth;
- result.FatherName = createTemp.FatherName;
- result.IdNumberSerial = createTemp.IdNumberSerial;
- result.IdNumber = idNumber;
- result.NationalCode = createTemp.NationalCode;
-
-
- return op.Succcedded(result);
}
}
diff --git a/CompanyManagment.EFCore/Repository/ContractingPartyTempRepository.cs b/CompanyManagment.EFCore/Repository/ContractingPartyTempRepository.cs
index 54ee843a..7f73aa9a 100644
--- a/CompanyManagment.EFCore/Repository/ContractingPartyTempRepository.cs
+++ b/CompanyManagment.EFCore/Repository/ContractingPartyTempRepository.cs
@@ -37,8 +37,12 @@ public class ContractingPartyTempRepository : RepositoryBase new InstitutionContractExtensionTempWorkshop(x.WorkshopName, x.CountPerson,
x.ContractAndCheckout, x.ContractAndCheckoutInPerson,
x.Insurance, x.InsuranceInPerson, x.RollCall, x.RollCall,
- x.RollCallInPerson, x.WorkshopServicesAmount)).ToList();
+ x.RollCallInPerson, x.WorkshopServicesAmount,x.WorkshopId)).ToList();
institutionTemp.SetWorkshopsAndPlanAmounts(workshops, res.OneMonth, res.ThreeMonths, res.SixMonths,
res.TwelveMonths, hasInPerson);
@@ -2200,11 +2201,11 @@ public class InstitutionContractRepository : RepositoryBase
new InstitutionContractInstallment(x.InstalmentDate.ToGeorgianDateTime(),
x.InstallmentAmountStr.MoneyToDouble(), "")).ToList();
@@ -2252,7 +2252,7 @@ public class InstitutionContractRepository : RepositoryBase