diff --git a/CompanyManagment.EFCore/Repository/FinancialStatmentRepository.cs b/CompanyManagment.EFCore/Repository/FinancialStatmentRepository.cs index b9d01bed..6e5d0617 100644 --- a/CompanyManagment.EFCore/Repository/FinancialStatmentRepository.cs +++ b/CompanyManagment.EFCore/Repository/FinancialStatmentRepository.cs @@ -266,8 +266,6 @@ public class FinancialStatmentRepository : RepositoryBase GetDetailsByContractingParty(long contractingPartyId,FinancialStatementSearchModel searchModel) { - - var financialStatement = await _context.FinancialStatments .Include(x=>x.FinancialTransactionList) .FirstOrDefaultAsync(x=>x.ContractingPartyId == contractingPartyId); @@ -323,6 +321,70 @@ public class FinancialStatmentRepository : RepositoryBase + // { + // if (!searched) + // { + // if (t.TypeOfTransaction == "debt") + // { + // balance += t.Deptor; + // } + // else + // { + // balance -= t.Creditor; + // } + // } + // return new FinancialTransactionDetailViewModel() + // { + // Id = t.id, + // DateTimeGr = t.TdateGr, + // DateFa = t.TdateGr.ToFarsi(), + // TimeFa = $"{t.TdateGr:HH:mm}", + // Description = t.DescriptionOption + " " + t.Description, + // Debtor = t.Deptor, + // Creditor = t.Creditor, + // Balance = balance, + // Type = t.TypeOfTransaction == "debt" + // ? FinancialTransactionType.Debt + // : FinancialTransactionType.Credit, + // TypeStr = t.TypeOfTransaction == "debt" ? "ایجاد درآمد" : "دریافت درآمد" + // }; + // }).OrderByDescending(t => t.DateTimeGr).ToList(); + + + var list = new List(); + foreach (var financialTransaction in financialStatement.FinancialTransactionList.OrderBy(t=>t.TdateGr)) + { + if (!searched) + { + if (financialTransaction.TypeOfTransaction == "debt") + { + balance += financialTransaction.Deptor; + } + else + { + balance -= financialTransaction.Creditor; + } + } + var item = new FinancialTransactionDetailViewModel() + { + Id = financialTransaction.id, + DateTimeGr = financialTransaction.TdateGr, + DateFa = financialTransaction.TdateGr.ToFarsi(), + TimeFa = $"{financialTransaction.TdateGr:HH:mm}", + Description = financialTransaction.DescriptionOption + " " + financialTransaction.Description, + Debtor = financialTransaction.Deptor, + Creditor = financialTransaction.Creditor, + Balance = balance, + Type = financialTransaction.TypeOfTransaction == "debt" + ? FinancialTransactionType.Debt + : FinancialTransactionType.Credit, + TypeStr = financialTransaction.TypeOfTransaction == "debt" ? "ایجاد درآمد" : "دریافت درآمد" + }; + list.Add(item); + } + + var res = new FinancialStatmentDetailsByContractingPartyViewModel() { Id = financialStatement.id, @@ -330,35 +392,7 @@ public class FinancialStatmentRepository : RepositoryBase x.Creditor), TotalDebt = financialStatement.FinancialTransactionList.Sum(x => x.Deptor), ContractingPartyName = financialStatement.ContractingPartyName, - List = financialStatement.FinancialTransactionList.Select(t => - { - if (!searched) - { - if (t.TypeOfTransaction == "debt") - { - balance += t.Deptor; - } - else - { - balance -= t.Creditor; - } - } - return new FinancialTransactionDetailViewModel() - { - Id = t.id, - DateTimeGr = t.TdateGr, - DateFa = t.TdateGr.ToFarsi(), - TimeFa = $"{t.TdateGr:HH:mm}", - Description = t.DescriptionOption + " " + t.Description, - Debtor = t.Deptor, - Creditor = t.Creditor, - Balance = balance, - Type = t.TypeOfTransaction == "debt" - ? FinancialTransactionType.Debt - : FinancialTransactionType.Credit, - TypeStr = t.TypeOfTransaction == "debt" ? "ایجاد درآمد" : "دریافت درآمد" - }; - }).OrderByDescending(t => t.DateTimeGr).ToList(), + List = list.OrderByDescending(x=>x.DateTimeGr).ToList(), }; return res; }