private ActivitiesGroupSumTurnOver GetAccountActivitiesGroupSumTurnOver(Guid accountId, long fromDate, decimal lastYearBalance, decimal lastYearDebtor, decimal lastYearCreditor) { var firstOfThisYear = PDateClass.GetFirstDateOfYear(fromDate); var turnover = GetAccountActivitiesGroupSumTurnOver(accountId, firstOfThisYear, fromDate); var activitiesGroupSumTurnOver = new ActivitiesGroupSumTurnOver { //موجودی از سال قبل تا امسال Balance = lastYearBalance + turnover.Balance, //گردش بدهکاراز سال قبل تا امسال SumOfDebitAmount = lastYearDebtor + turnover.SumOfDebitAmount, //گردش بستانکاراز سال قبل تا امسال SumOfCreditAmount = lastYearCreditor + turnover.SumOfCreditAmount }; return activitiesGroupSumTurnOver; }
private ActivitiesGroupSumTurnOver GetAccountActivitiesGroupSumTurnOver(Guid accountId, long fromDate, long toDate) { var groupActivities = GroupAccountActivitiesByTransactionType(accountId, fromDate, toDate); var turnover = new ActivitiesGroupSumTurnOver { //موجودی امسال Balance = groupActivities.Sum(d => d.SumBalance), //گردش بدهکار امسال SumOfDebitAmount = groupActivities .Where(d => d.TransactionType == 1 /*TransactionType.Debit*/) .Select(ga => (decimal?) ga.SumBalance).FirstOrDefault() ?? Decimal.Zero, //گردش بستانکار امسال SumOfCreditAmount = groupActivities .Where(d => d.TransactionType == -1 /*TransactionType.Credit*/) .Select(ga => (decimal?) ga.SumBalance).FirstOrDefault() ?? Decimal.Zero }; return turnover; }