getNGOFundsDetails()

in ngo-ui/src/app/ui/ngo-details/ngo-details.component.ts [90:116]


  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;
    });
  }