Merge branch 'Feature/InstitutionContract/add-registration-style' into Main
This commit is contained in:
@@ -74,4 +74,5 @@ public interface IPersonalContractingPartyRepository :IRepository<long, Personal
|
||||
Task<GetRealContractingPartyDetailsViewModel> GetRealDetails(long id);
|
||||
Task<GetLegalContractingPartyDetailsViewModel> GetLegalDetails(long id);
|
||||
|
||||
Task<PersonalContractingParty> GetByNationalCode(string nationalCode);
|
||||
}
|
||||
@@ -8,4 +8,8 @@ public class ContractingPartyTempViewModel : CreateContractingPartyTemp
|
||||
/// </summary>
|
||||
public string DateOfBirthFa { get; set; }
|
||||
|
||||
public string Address { get; set; }
|
||||
public string City { get; set; }
|
||||
public long RepresentativeId { get; set; }
|
||||
|
||||
}
|
||||
@@ -930,8 +930,33 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
var syear = command.ContractStartFa.Substring(0, 4);
|
||||
var smonth = command.ContractStartFa.Substring(5, 2);
|
||||
var sday = command.ContractStartFa.Substring(8, 2);
|
||||
|
||||
var transaction = await _contractingPartyRepository.BeginTransactionAsync();
|
||||
|
||||
if (command.ContractStartFa.TryToGeorgianDateTime(out var contractStartGr) == false)
|
||||
return opration.Failed("تاریخ شروع قرارداد معتبر نیست");
|
||||
|
||||
contractStartGr.AddMonthsFa((int)command.Duration, out var contractEndGr);
|
||||
contractEndGr = contractEndGr.ToFarsi().FindeEndOfMonth().ToGeorgianDateTime();
|
||||
|
||||
if (command.ContractingPartyLegalType == LegalType.Legal)
|
||||
{
|
||||
if (_contractingPartyRepository.Exists(x =>
|
||||
x.LName == command.LegalParty.CompanyName && x.RegisterId == command.LegalParty.RegisterId) &&
|
||||
_institutionContractRepository.Exists(x=> x.IsActiveString =="true" &&
|
||||
x.ContractStartGr < contractEndGr && contractStartGr < x.ContractEndGr))
|
||||
throw new BadRequestException("امکان ایجاد قرارداد تکراری وجود ندارد");
|
||||
|
||||
}
|
||||
else if(command.ContractingPartyLegalType == LegalType.Real)
|
||||
{
|
||||
if (_contractingPartyRepository.Exists(x =>
|
||||
x.LName == command.RealParty.LName && x.Nationalcode == command.RealParty.NationalCode)&&
|
||||
_institutionContractRepository.Exists(x=> x.IsActiveString =="true" &&
|
||||
x.ContractStartGr < contractEndGr && contractStartGr < x.ContractEndGr))
|
||||
throw new BadRequestException("امکان ثبت رکورد تکراری وجود ندارد");
|
||||
|
||||
}
|
||||
OperationResult<PersonalContractingParty> contractingPartyResult = command.ContractingPartyLegalType switch
|
||||
{
|
||||
LegalType.Legal => await CreateLegalContractingPartyEntity(command.LegalParty, command.RepresentativeId),
|
||||
@@ -949,18 +974,14 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
var representative = _representativeRepository.Get(command.RepresentativeId);
|
||||
if (representative == null)
|
||||
return opration.Failed("معرف مورد نظر یافت نشد");
|
||||
|
||||
if (command.ContractStartFa.TryToGeorgianDateTime(out var contractStartGr) == false)
|
||||
return opration.Failed("تاریخ شروع قرارداد معتبر نیست");
|
||||
|
||||
|
||||
if (command.IsInstallment &&
|
||||
!command.Workshops.Any(x => x.HasContractPlanInPerson || x.HasInsurancePlanInPerson))
|
||||
{
|
||||
return opration.Failed("برای قراردادهای اقساطی حداقل یک کارگاه باید دارای طرح حضوری باشد");
|
||||
}
|
||||
|
||||
contractStartGr.AddMonthsFa((int)command.Duration, out var contractEndGr);
|
||||
contractEndGr = contractEndGr.ToFarsi().FindeEndOfMonth().ToGeorgianDateTime();
|
||||
|
||||
|
||||
var today = DateTime.Today;
|
||||
|
||||
@@ -1212,10 +1233,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
CreateInstitutionContractLegalPartyRequest request, long representativeId)
|
||||
{
|
||||
var opration = new OperationResult<PersonalContractingParty>();
|
||||
|
||||
if (_contractingPartyRepository.Exists(x =>
|
||||
x.LName == request.CompanyName && x.RegisterId == request.RegisterId))
|
||||
return opration.Failed("امکان ثبت رکورد تکراری وجود ندارد");
|
||||
|
||||
|
||||
if (representativeId < 1)
|
||||
return opration.Failed("لطفا معرف را انتخاب کنید");
|
||||
@@ -1257,10 +1275,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
CreateInstitutionContractRealPartyRequest request, long representativeId)
|
||||
{
|
||||
var operation = new OperationResult<PersonalContractingParty>();
|
||||
|
||||
if (_contractingPartyRepository.Exists(x =>
|
||||
x.LName == request.LName && x.Nationalcode == request.NationalCode))
|
||||
return operation.Failed("امکان ثبت رکورد تکراری وجود ندارد");
|
||||
|
||||
|
||||
if (representativeId < 1)
|
||||
return operation.Failed("لطفا معرف را انتخاب کنید");
|
||||
|
||||
@@ -94,6 +94,7 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
|
||||
var dateOfBirthGr = dateOfBirth.ToGeorgianDateTime();
|
||||
|
||||
var contractingParty =await _personalContractingPartyRepository.GetByNationalCode(nationalCode);
|
||||
|
||||
//اگر طرف حساب موقت قبلا ایجاد شده دیتای آن را برمیگرداند
|
||||
if (getExistTemp != null)
|
||||
@@ -156,6 +157,14 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
result.IdNumberSerial = createTemp.IdNumberSerial;
|
||||
result.IdNumber = idNumber;
|
||||
|
||||
if (contractingParty != null)
|
||||
{
|
||||
result.Address = contractingParty.Address;
|
||||
result.City = contractingParty.City;
|
||||
result.State = contractingParty.State;
|
||||
result.RepresentativeId = contractingParty.RepresentativeId;
|
||||
}
|
||||
|
||||
return op.Succcedded(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -738,6 +738,11 @@ public class PersonalContractingPartyRepository : RepositoryBase<long, PersonalC
|
||||
return res;
|
||||
}
|
||||
|
||||
public async Task<PersonalContractingParty> GetByNationalCode(string nationalCode)
|
||||
{
|
||||
return await _context.PersonalContractingParties.FirstOrDefaultAsync(x => x.Nationalcode == nationalCode);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
@@ -29,12 +29,6 @@ public class ContractingPartyController : AdminBaseController
|
||||
Console.WriteLine(watch.Elapsed);
|
||||
return result.ToList();
|
||||
}
|
||||
[HttpGet("t/{name}")]
|
||||
public async Task<List<string>> TestApi(string name)
|
||||
{
|
||||
var res = _contractingPartyApplication.SearchByName(name).Where(x=>x.Contains(name)).ToList();
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// جزئیات طرف حساب حقیقی
|
||||
|
||||
@@ -13,6 +13,7 @@ public class InsuranceJobsController:AdminBaseController
|
||||
_insuranceJobApplication = insuranceJobApplication;
|
||||
}
|
||||
|
||||
[HttpGet("select-list")]
|
||||
public async Task<ActionResult<List<InsuranceJobSelectListViewModel>>> GetInsuranceSelectList()
|
||||
{
|
||||
var res =await _insuranceJobApplication.GetSelectList();
|
||||
|
||||
Reference in New Issue
Block a user