spFundraiser_Summary
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FRIDs | varchar(8000) | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spFundraiser_Summary]
(
@FRIDs varchar(8000)
)
AS
DECLARE @Temp table(FundraiserID int, FundraiserDescription varchar(100), FundraiserGoal money, TotalGoal money, TotalRaised money, TotalTeams int, TotalSolicitors int, TotalDonations int)
INSERT INTO @Temp (FundraiserID, FundraiserDescription, FundRaiserGoal)
(
SELECT
csv.id , sc.Title, fr.Goal
FROM dbo.fncsvidstotable(@frids) csv, dbo.Fundraisers fr, dbo.SiteContent sc
WHERE csv.id = fr.id
AND
sc.[id] = fr.SiteContentID
)
UPDATE a Set
a.TotalRaised = b.TotalRaised,
a.TotalDonations = b.TotalDonations
FROM @Temp a,
(select
csv.id,
count(distinct frs.id) 'TotalSolicitors' ,
sum(isnull(donation.amount, 0)) 'TotalRaised',
count(donation.id) 'TotalDonations'
from dbo.fncsvidstotable(@frids) csv
inner join dbo.fundraisersolicitors frs on frs.rootfundraiserid = csv.id
left outer join dbo.fundraiserdonations donation on donation.solicitorid = frs.id
inner join dbo.DonationTransactions dt on dt.DonationTransactionsID = donation.DonationTransactionsID
where
frs.rootfundraiserid = csv.id
and
dt.IsDeleted = 0
and
dt.Status = 1
group by csv.id) b
WHERE a.FundraiserID = b.ID
UPDATE a Set
a.TotalGoal = b.Goal,
a.TotalSolicitors = isnull(b.TotalSolicitors, 0)
FROM @Temp a,
(SELECT
csv.ID,
count(DISTINCT frs.id) 'TotalSolicitors',
sum(isnull(frs.goal, 0)) 'Goal'
from dbo.fncsvidstotable(@frids) csv
inner join dbo.fundraisersolicitors frs on frs.rootfundraiserid = csv.id
inner join dbo.clientusers cu on frs.clientusersid = cu.id and cu.deleted = 0
where
frs.rootfundraiserid = csv.id
group by csv.id) b
WHERE a.FundraiserID = b.ID
UPDATE a Set a.TotalTeams = isnull(b.TotalTeams, 0)
FROM @Temp a,
(SELECT
csv.id,
count(frt.id) 'TotalTeams'
from dbo.fncsvidstotable(@frids) csv
inner join dbo.fundraiserteams frt on frt.rootfundraiserid = csv.id
where
frt.rootfundraiserid = csv.id
group by csv.id) b
WHERE a.FundraiserID = b.ID
SELECT FundraiserID, FundraiserDescription, FundraiserGoal, TotalGoal, TotalRaised, TotalTeams, TotalSolicitors, TotalDonations
FROM @Temp