internal AffiliateReportTotals GetAffiliateTotals(long affId, TotalsReturnType returnType) { IEnumerable <DnnUser> users = null; var query = BuildReportQuery().Where(a => a.Id == affId); query = FilterQueryBySearchText(query, ref users); var totals = new AffiliateReportTotals(); if (returnType == TotalsReturnType.ReturnAll || returnType == TotalsReturnType.ReturnReferrals) { totals.ReferralsCount = query.Sum(i => (int?)i.SignupsCount) ?? 0; } if (returnType == TotalsReturnType.ReturnAll || returnType == TotalsReturnType.ReturnOrders) { totals.OrdersCount = query.Sum(i => (int?)i.OrdersCount) ?? 0; totals.SalesAmount = query.Sum(i => (decimal?)i.SalesAmount) ?? 0; } if (returnType == TotalsReturnType.ReturnAll || returnType == TotalsReturnType.ReturnPayments) { totals.Commission = query.Sum(i => (decimal?)i.Commission) ?? 0; totals.CommissionPaid = query.Sum(i => (decimal?)i.CommissionPayed) ?? 0; totals.PaymentsCount = query.Sum(i => (int?)i.PaymentsCount) ?? 0; } return(totals); }
private void BindAffiliates() { var repository = HccApp.ContactServices.Affiliates; var rowCount = 0; var criteria = GetCriteria(); Totals = repository.GetTotalsByFilter(criteria); gvAffiliates.DataSource = repository.FindAllWithFilter(criteria, ucPager.PageNumber, ucPager.PageSize, ref rowCount); gvAffiliates.DataBind(); ucPager.SetRowCount(rowCount); AffiliatesCount = rowCount; }