in ngo-ui/src/app/ui/ngos-list/ngos-list.component.ts [101:127]
getNGOFundsDetails(ngo: Ngo) {
this.dashboardService.getDonationsByNGO(ngo.id).subscribe(ngo_data => {
let ngo_total_donation = 0.00;
const ngo_total_donors_set = new Set();
const ngo_donors_amounts = new Map();
for (const i in ngo_data) {
if (ngo_data[i]) {
ngo_total_donation = ngo_total_donation + ngo_data[i].donationAmount;
if (!ngo_total_donors_set.has(ngo_data[i].donorUserName)) {
ngo_total_donors_set.add(ngo_data[i].donorUserName);
}
const donor_name = ngo_data[i].donorUserName;
if (!ngo_donors_amounts.has(donor_name)) {
ngo_donors_amounts.set(donor_name, ngo_data[i].donationAmount);
} else {
ngo_donors_amounts.set(donor_name, ngo_data[i].donationAmount + ngo_donors_amounts.get(donor_name));
}
}
}
const user_donation = ngo_donors_amounts.get(SessionService.getUser().name);
ngo.ngo_donations = ngo_total_donation;
ngo.ngo_Donors = ngo_total_donors_set.size;
ngo.ngo_donor_details = ngo_donors_amounts;
ngo.ngo_user_donations = user_donation ? user_donation : 0;
return ngo;
});
}