public IEnumerable <BankWithClients> RetrieveAllBanksWithClients()
        {
            var results = _repo.DebtsForPeopleAndBanks().Result.Where(d => d.Amount > 0);
            var banks   = _repo.AllBanks().Result;

            var bankClients = new List <BankWithClients>();

            foreach (var bank in banks)
            {
                var theBank = new BankWithClients()
                {
                    BankId   = bank.IDBank,
                    BankName = bank.Name,
                    Clients  = new List <Person>()
                };
                bankClients.Add(theBank);
            }

            foreach (var item in bankClients)
            {
                foreach (var debt in results)
                {
                    if (item.BankId == debt.bank.IDBank)
                    {
                        item.Clients.Add(debt.person);
                    }
                }
            }
            return(bankClients);
        }
        public IEnumerable <Person> RetrieveListOfPersonsWithMultipleDebts()
        {
            var results             = _repo.DebtsForPeopleAndBanks().Result.Where(d => d.Amount > 0);
            var personsWithTwoBanks = new List <Person>();


            foreach (var debt in results)
            {
                var persWithDebt = results.Where(d => d.person.IDPerson == debt.person.IDPerson);
                if (persWithDebt.Count() > 1 && !personsWithTwoBanks.Contains(debt.person))
                {
                    personsWithTwoBanks.Add(debt.person);
                }
            }

            return(personsWithTwoBanks);
        }
Example #3
0
        static void Main(string[] args)
        {
            var d = new DebtRepository();

            Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(d.AllBanks()));
            Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(d.AllPersons()));
            Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(d.DebtsForPeopleAndBanks()));
        }