private void GetAccountOpeningsDictionaryForAccount(AccountDao account) { _openings = _dbContext.Openings.Where(c => c.ClientId.Equals(_clientId) && c.Year.Equals(_year) && c.Name.Equals(account.Name)).ToList(); }
private void GetAccountDocumentsForAccountSide(AccountDao account, Func<Report, IList<ReportDocument>> reportLambda, Func<OpeningDao, double> openingsFunction, Func<DocumentDao, string> documentProperty ) { reportLambda.Invoke(_report).Add(new ReportDocument { Id = 0, AutoNumber = "BO", Number = "BO", Price = _openings.Sum(openingsFunction) }); var allDocuments = _dbContext.Documents.Where(c => c.ClientId.Equals(_clientId) && c.Year.Equals(_year)).ToList(); _documents = allDocuments.Where(c => documentProperty.Invoke(c).StartsWith(account.Name)).OrderBy(x => x.AutoNumber).ToList(); foreach (var item in _documents) reportLambda.Invoke(_report).Add(new ReportDocument { Id = item.Id, AutoNumber = item.AutoNumber.ToString(), Number = item.Number, Price = item.Price }); }