fix bug InstitutionContractRepository.cs

This commit is contained in:
2025-12-30 16:44:02 +03:30
parent d11fdcf106
commit 9bbdff9bc6

View File

@@ -87,7 +87,9 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
ISmsResultRepository smsResultRepository, IFinancialTransactionRepository financialTransactionRepository,
IFinancialStatmentRepository financialStatmentRepository, IHubContext<SendSmsHub> hubContext,
ILogger<InstitutionContractRepository> logger, IUidService uidService,
IContractingPartyTempRepository contractingPartyTempRepository, IPersonalContractingPartyRepository contractingPartyRepository, IRepresentativeRepository representativeRepository, IAccountApplication accountApplication) : base(context)
IContractingPartyTempRepository contractingPartyTempRepository,
IPersonalContractingPartyRepository contractingPartyRepository,
IRepresentativeRepository representativeRepository, IAccountApplication accountApplication) : base(context)
{
_context = context;
_employerRepository = employerRepository;
@@ -5056,6 +5058,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
Gender = contractingParty.Gender,
PhoneNumber = contractingParty.Phone,
IsAuth = true,
BirthDateFa = contractingParty.DateOfBirth.ToFarsi()
};
result.RealParty = realParty;
result.LegalParty = null;
@@ -5251,10 +5254,10 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
personalContractingParty.IdNumberSerial, realCommand.BirthDateFa, realCommand.Gender,
realCommand.PhoneNumber);
}
contractingParty = personalContractingParty;
}
contractingParty = personalContractingParty;
break;
}
@@ -5269,7 +5272,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
throw new BadRequestException("دیتای درخواست شده نامعتبر است");
}
List<WorkshopTempViewModel> workshopDetails=[];
List<WorkshopTempViewModel> workshopDetails = [];
if (contractingParty != null)
{
var employerWorkshopIds = _context.Employers
@@ -5308,18 +5311,17 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
RollCallInPerson = false,
};
}).ToList();
}
creationTemp.SetContractingPartyContactInfo(request.Address, request.City, request.Province,
request.ContactInfos,request.RepresentativeId);
request.ContactInfos, request.RepresentativeId);
await _institutionContractCreationTemp.ReplaceOneAsync(
x => x.Id == creationTemp.Id,
creationTemp
);
var res = new InstitutionContractCreationWorkshopsResponse()
{
TotalAmount = workshopDetails.Sum(x => x.WorkshopServicesAmount).ToMoney(),
@@ -5708,7 +5710,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
Monthly = monthlyPayment
};
}
public async Task<OperationResult> CreationComplete(InstitutionContractExtensionCompleteRequest request)
{
@@ -5738,16 +5740,19 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
}
else
{
OperationResult<PersonalContractingParty> contractingPartyResult = institutionContractTemp.ContractingPartyLegalType switch
{
LegalType.Legal => await CreateLegalContractingPartyEntity(institutionContractTemp.LegalParty, institutionContractTemp.RepresentativeId,
institutionContractTemp.Address,
institutionContractTemp.City, institutionContractTemp.Province),
LegalType.Real => await CreateRealContractingPartyEntity(institutionContractTemp.RealParty, institutionContractTemp.RepresentativeId,
institutionContractTemp.Address,
institutionContractTemp.City, institutionContractTemp.Province),
_ => throw new BadRequestException("نوع طرف قرارداد مشخص نشده است")
};
OperationResult<PersonalContractingParty> contractingPartyResult =
institutionContractTemp.ContractingPartyLegalType switch
{
LegalType.Legal => await CreateLegalContractingPartyEntity(institutionContractTemp.LegalParty,
institutionContractTemp.RepresentativeId,
institutionContractTemp.Address,
institutionContractTemp.City, institutionContractTemp.Province),
LegalType.Real => await CreateRealContractingPartyEntity(institutionContractTemp.RealParty,
institutionContractTemp.RepresentativeId,
institutionContractTemp.Address,
institutionContractTemp.City, institutionContractTemp.Province),
_ => throw new BadRequestException("نوع طرف قرارداد مشخص نشده است")
};
if (!contractingPartyResult.IsSuccedded)
throw new BadRequestException(contractingPartyResult.Message);
contractingParty = contractingPartyResult.Data;
@@ -5770,10 +5775,11 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
var representative = _representativeRepository.Get(institutionContractTemp.RepresentativeId);
if (representative == null)
return opration.Failed("معرف مورد نظر یافت نشد");
if (_context.InstitutionContractSet.Any(x =>
x.ContractingPartyId == contractingPartyId && x.IsActiveString == "true"))
return opration.Failed("برای این طرف قرارداد قبلا قرارداد اصلی ایجاد شده است، شما میتوانید از تمدید استفاده کنید");
return opration.Failed(
"برای این طرف قرارداد قبلا قرارداد اصلی ایجاد شده است، شما میتوانید از تمدید استفاده کنید");
if (string.IsNullOrWhiteSpace(contractStart))
@@ -5797,7 +5803,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
if (dateMessages)
return opration.Failed(dateMaessageResult);
var syear = contractStart.Substring(0, 4);
var smonth = contractStart.Substring(5, 2);
var sday = contractStart.Substring(8, 2);
@@ -5809,7 +5815,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
var contractEndGr = selectedDuration.ContractEnd.ToGeorgianDateTime();
var contractDateGr = contractStart.ToGeorgianDateTime();
if (institutionContractTemp.Address != null && institutionContractTemp.Province == null)
{
@@ -5851,7 +5857,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
var oneMonthPayment = selectedDuration.OneMonthPaymentDiscounted.MoneyToDouble();
var contractingPartyFullName = contractingParty.IsLegal=="حقیقی"
var contractingPartyFullName = contractingParty.IsLegal == "حقیقی"
? contractingParty.FName + " " + contractingParty.LName
: contractingParty.LName;
@@ -5868,8 +5874,8 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
institutionContractTemp.Address, contractStartGr,
contractStart, contractEndGr, selectedDuration.ContractEnd,
oneMonthPayment, selectedDuration.DailyCompenseation.MoneyToDouble(),
selectedDuration.Obligation.MoneyToDouble(), totalAmount,
0, workshopsCount, employeeCount,null,
selectedDuration.Obligation.MoneyToDouble(), totalAmount,
0, workshopsCount, employeeCount, null,
"NotOfficial", "JobRelation", hasValueAddedTax,
payment.Tax.MoneyToDouble(), [],
request.LawId, payment.DiscountPercetage, payment.DiscountedAmount.MoneyToDouble());
@@ -5948,6 +5954,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
_context.InstitutionContractContactInfos.Add(contactinfo);
}
}
var userPass = contractingParty.IsLegal == "حقیقی"
? contractingParty.Nationalcode
: contractingParty.NationalId;
@@ -5974,8 +5981,8 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
return opration.Succcedded();
}
private async Task<OperationResult<PersonalContractingParty>> CreateLegalContractingPartyEntity(
InstitutionContractCreationTempLegalParty request, long representativeId, string address, string city,
private async Task<OperationResult<PersonalContractingParty>> CreateLegalContractingPartyEntity(
InstitutionContractCreationTempLegalParty request, long representativeId, string address, string city,
string state)
{
var opration = new OperationResult<PersonalContractingParty>();
@@ -6067,6 +6074,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
return operation.Succcedded(personalContractingParty);
}
#endregion