diff --git a/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs b/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs
index 797498d5..9e0ba0f8 100644
--- a/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs
+++ b/Company.Domain/ContarctingPartyAgg/PersonalContractingParty.cs
@@ -83,6 +83,17 @@ public class PersonalContractingParty : EntityBase
/// سمت و صاحب امضاء اوراق (فقط برای طرف حقوقی)
///
public string LegalPosition { get; private set; }
+
+ ///
+ /// نام مدیر عامل (فقط برای طرف حقوقی)
+ ///
+ public string CeoFName { get; private set; }
+
+ ///
+ /// نام خانوادگی مدیر عامل (فقط برای طرف حقوقی)
+ ///
+ public string CeoLName { get; private set; }
+
#endregion
@@ -98,7 +109,8 @@ public class PersonalContractingParty : EntityBase
public PersonalContractingParty(string fName, string lName, string nationalcode, string idNumber,
/*string legalName,*/ string registerId, string nationalId, string isLegal,
string phone, string agentPhone, string address,long representativeId,
- string representativeFullName, int archiveCode, string state,string city, string zone, string sureName,string legalPosition=null)
+ string representativeFullName, int archiveCode, string state,string city,
+ string zone, string sureName,string ceoFName,string ceoLName,string legalPosition=null)
{
FName = fName;
@@ -125,6 +137,8 @@ public class PersonalContractingParty : EntityBase
IsBlock = "false";
BlockTimes = 0;
LegalPosition = legalPosition;
+ CeoFName = ceoFName;
+ CeoLName = ceoLName;
}
diff --git a/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs b/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs
index e6de7f5a..de5ad555 100644
--- a/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs
+++ b/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs
@@ -217,6 +217,8 @@ public interface IInstitutionContractApplication
public class GetInstitutionVerificationDetailsViewModel
{
+ public InstitutionContratVerificationParty FirstParty { get; set; }
+ public InstitutionContratVerificationParty SecondParty { get; set; }
public string ContractNo { get; set; }
public string CreationDate { get; set; }
public string ContractStart { get; set; }
@@ -228,6 +230,16 @@ public class GetInstitutionVerificationDetailsViewModel
public List Installments { get; set; }
}
+public class InstitutionContratVerificationParty
+{
+ public string CompanyNameOrFullName { get; set; }
+ public string NationalCodeOrNationalId { get; set; }
+ public string CeoName { get; set; }
+ public string Address { get; set; }
+ public string PostalCode { get; set; }
+ public string PhoneNumber { get; set; }
+}
+
public class GetInstitutionVerificationDetailsWorkshopsViewModel
{
public string Name { get; set; }
diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs
index 02b8de5d..961612ff 100644
--- a/CompanyManagment.Application/InstitutionContractApplication.cs
+++ b/CompanyManagment.Application/InstitutionContractApplication.cs
@@ -1150,7 +1150,6 @@ public class InstitutionContractApplication : IInstitutionContractApplication
{
return opration.Failed("شناسه ملی وارد شده تکراری است");
}
-
var archiveCode = _contractingPartyRepository.GetLastNewArchiveCode();
@@ -1159,7 +1158,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
"*", "*", request.RegisterId, request.NationalId,
"حقوقی",
request.PhoneNumber, request.PhoneNumber, null, representativeId, representative.FullName,
- archiveCode, null, null, null, null, request.Position);
+ archiveCode, null, null, null, null,request.FName,request.LName,request.Position);
await _contractingPartyRepository.CreateAsync(legalContractingParty);
@@ -1201,7 +1200,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
request.NationalCode, request.IdNumber, "*", "*",
"حقیقی",
request.PhoneNumber, request.PhoneNumber, null, representativeId, representative.FullName, archiveCode,
- null, null, null, null);
+ null, null, null, null,null,null);
await _contractingPartyRepository.CreateAsync(personalContractingParty);
diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs
index 55ac0794..c333ac75 100644
--- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs
+++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs
@@ -1678,7 +1678,11 @@ public class InstitutionContractRepository : RepositoryBase x.WorkshopGroup).ThenInclude(institutionContractWorkshopGroup =>
institutionContractWorkshopGroup.WorkshopDetails)
- .Include(institutionContract => institutionContract.Installments).FirstOrDefaultAsync();
+ .Include(institutionContract => institutionContract.Installments)
+ .Join(_context.PersonalContractingParties,
+ institutionContract => institutionContract.ContractingPartyId,
+ contractingParty =>contractingParty.id,
+ (contract, party) => new {contract,party}).FirstOrDefaultAsync();
if (query == null)
{
@@ -1687,14 +1691,14 @@ public class InstitutionContractRepository : RepositoryBase new InstitutionContractInstallmentViewModel()
+ ContractStart = query.contract.ContractStartFa,
+ ContractEnd = query.contract.ContractEndFa,
+ ContractNo = query.contract.ContractNo,
+ CreationDate = query.contract.CreationDate.ToFarsi(),
+ TaxPrice = query.contract.ValueAddedTax.ToMoney(),
+ TotalPrice = (query.contract.TotalAmount - query.contract.ValueAddedTax).ToMoney(),
+ PaymentPrice = query.contract.TotalAmount.ToMoney(),
+ Installments = query.contract.Installments.Select(x => new InstitutionContractInstallmentViewModel()
{
Amount = x.Amount,
Description = x.Description,
@@ -1703,7 +1707,7 @@ public class InstitutionContractRepository : RepositoryBase x.DetailType == WorkshopDetailType.Initial)
.Select(x => new GetInstitutionVerificationDetailsWorkshopsViewModel
{
@@ -1720,7 +1724,13 @@ public class InstitutionContractRepository : RepositoryBase