feat: add properties to exclude future contracts and filter old contracts in institution contract model
This commit is contained in:
@@ -88,9 +88,20 @@ public class GetInstitutionContractListItemsViewModel
|
||||
|
||||
public List<InstitutionContractListWorkshop> Workshops { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// قرارداد ها با خدمات حضوری قرارداد
|
||||
/// </summary>
|
||||
public bool IsInPersonContract { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// قرارداد های قدیمی
|
||||
/// </summary>
|
||||
public bool IsOldContract { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// قرارداد هایی که برای آینده تنظیم شده اند
|
||||
/// </summary>
|
||||
public bool IsFutureContract { get; set; }
|
||||
}
|
||||
|
||||
public class InstitutionContractListWorkshop
|
||||
|
||||
@@ -1135,21 +1135,21 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
|
||||
if (!string.IsNullOrWhiteSpace(searchModel.ContractDateFrom) &&
|
||||
!string.IsNullOrWhiteSpace(searchModel.ContractDateTo))
|
||||
{
|
||||
if (!searchModel.ContractDateFrom.TryToGeorgianDateTime(out var dateFrom))
|
||||
if (!searchModel.ContractDateFrom.TryToGeorgianDateTime(out var dateStart))
|
||||
throw new BadRequestException("تاریخ وارد شده نامعتبر است");
|
||||
|
||||
if (!searchModel.ContractDateTo.TryToGeorgianDateTime(out var dateTo))
|
||||
if (!searchModel.ContractDateTo.TryToGeorgianDateTime(out var dateEnd))
|
||||
{
|
||||
throw new BadRequestException("تاریخ وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
if (dateFrom > dateTo)
|
||||
if (dateStart > dateEnd)
|
||||
{
|
||||
throw new BadRequestException("تاریخ شروع نمیتواند بزرگ تر از تاریخ پایان باشد");
|
||||
}
|
||||
|
||||
joinedQuery = joinedQuery.Where(x =>
|
||||
x.contract.ContractStartGr <= dateTo && x.contract.ContractEndGr <= dateFrom);
|
||||
x.contract.ContractStartGr <= dateEnd && x.contract.ContractEndGr >= dateStart);
|
||||
}
|
||||
|
||||
if (searchModel.HasSignature != null)
|
||||
@@ -1422,23 +1422,22 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
|
||||
if (!string.IsNullOrWhiteSpace(searchModel.ContractDateFrom) &&
|
||||
!string.IsNullOrWhiteSpace(searchModel.ContractDateTo))
|
||||
{
|
||||
if (!searchModel.ContractDateFrom.TryToGeorgianDateTime(out var dateFrom))
|
||||
if (!searchModel.ContractDateFrom.TryToGeorgianDateTime(out var dateStart))
|
||||
throw new BadRequestException("تاریخ وارد شده نامعتبر است");
|
||||
|
||||
if (!searchModel.ContractDateTo.TryToGeorgianDateTime(out var dateTo))
|
||||
if (!searchModel.ContractDateTo.TryToGeorgianDateTime(out var dateEnd))
|
||||
{
|
||||
throw new BadRequestException("تاریخ وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
if (dateFrom > dateTo)
|
||||
if (dateStart > dateEnd)
|
||||
{
|
||||
throw new BadRequestException("تاریخ شروع نمیتواند بزرگ تر از تاریخ پایان باشد");
|
||||
}
|
||||
|
||||
joinedQuery = joinedQuery.Where(x =>
|
||||
x.contract.ContractStartGr <= dateTo && x.contract.ContractEndGr <= dateFrom);
|
||||
x.contract.ContractStartGr <= dateEnd && x.contract.ContractEndGr >= dateStart);
|
||||
}
|
||||
|
||||
if (searchModel.HasSignature != null)
|
||||
{
|
||||
var hasSignature = searchModel.HasSignature == true ? "1" : "0";
|
||||
@@ -1512,10 +1511,10 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
|
||||
|
||||
#endregion
|
||||
|
||||
var totalAmount = await joinedQuery.SumAsync(x => x.contract.ContractAmount);
|
||||
var totalAmount = await joinedQuery.Where(x=>x.contract.ContractStartGr<=DateTime.Today).SumAsync(x => x.contract.ContractAmount);
|
||||
|
||||
var totalDebt = await _context.FinancialStatments.Include(x => x.FinancialTransactionList)
|
||||
.Where(x => joinedQuery.Select(i => i.contract.ContractingPartyId).Contains(x.ContractingPartyId))
|
||||
.Where(x => joinedQuery.Where(i=>i.contract.ContractStartGr<=DateTime.Today).Select(i => i.contract.ContractingPartyId).Contains(x.ContractingPartyId))
|
||||
.SelectMany(x => x.FinancialTransactionList)
|
||||
.SumAsync(x => x.Deptor - x.Creditor);
|
||||
var counts = new List<InstitutionContractStatusCount>();
|
||||
|
||||
Reference in New Issue
Block a user