protected virtual void LoadData(DocumentIDGroup documentIDGroup, int?branchID, string taxPeriodID) { var refNbrs = documentIDGroup.RefNbrs.ToArray(); TaxTransByRefNbr = GafRepository.GetTaxTransForDocuments(documentIDGroup.Module, documentIDGroup.DocumentTypes.ToArray(), refNbrs, taxPeriodID) .GroupBy(taxTran => taxTran.RefNbr) .ToDictionary(group => group.Key, group => group.ToList()); var usedTaxIDs = TaxTransByRefNbr.Values.SelectMany(taxTranList => taxTranList.Select(taxTran => taxTran.TaxID)) .Distinct() .ToArray(); Taxes = GafRepository.GetTaxesByIDs(usedTaxIDs) .ToDictionary(tax => tax.TaxID, tax => tax); }