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