public void getPastDonationData() { CustomTransaction[] allDonationTransactions; Blackbaud.Web.Content.Core.Extensions.API.Transactions.CustomTransactions donationTransactionRetriever = new Blackbaud.Web.Content.Core.Extensions.API.Transactions.CustomTransactions(); allDonationTransactions = donationTransactionRetriever.GetTransactionsByType(transactionId); List <donationCustomTransaction> allDonationData = new List <donationCustomTransaction>(); List <donationDataForFundraiserPage> donationDataForPage = new List <donationDataForFundraiserPage>(); string urlPath = HttpContext.Current.Request.Url.AbsolutePath.Replace("/", "").ToLower(); foreach (CustomTransaction transaction in allDonationTransactions) { string thisTransaction = transaction.Data; StringReader stringReader = new StringReader(thisTransaction); XmlTextReader reader = new XmlTextReader(stringReader); string thisCardholder = ""; string thisDate = ""; string thisAuthCode = ""; string thisPageName = ""; string thisTeamId = ""; string thisTeamName = ""; string thisGiftType = ""; decimal thisAmount = 0; int thisBbncTransactionId = 0; bool thisDonationDeleted = false; int thisDriveId = 0; while (reader.Read()) { if (reader.IsStartElement()) { switch (reader.Name) { case "cardHolderName": thisCardholder = reader.ReadString(); break; case "date": thisDate = reader.ReadString(); break; case "authCode": thisAuthCode = reader.ReadString(); break; case "teamId": thisTeamId = reader.ReadString(); break; case "teamName": thisTeamName = reader.ReadString(); break; case "amount": thisAmount = decimal.Parse(reader.ReadString()); break; case "bbncTransactionId": thisBbncTransactionId = int.Parse(reader.ReadString()); break; case "pageName": thisPageName = reader.ReadString().ToLower(); break; case "GiftType": thisGiftType = reader.ReadString(); break; case "isDeleted": thisDonationDeleted = reader.ReadElementContentAsBoolean(); break; case "driveId": thisDriveId = int.Parse(reader.ReadString()); break; } } } allDonationData.Add(new donationCustomTransaction() { cardHolderName = thisCardholder, date = thisDate, authCode = thisAuthCode, pageName = thisPageName, teamId = thisTeamId, teamName = thisTeamName, amount = thisAmount, bbncTransactionId = thisBbncTransactionId, GiftType = thisGiftType, isDeleted = thisDonationDeleted, driveId = thisDriveId }); } foreach (donationCustomTransaction thisTransaction in allDonationData) { if (thisTransaction.pageName == urlPath) { if (!thisTransaction.isDeleted && thisTransaction.driveId == driveType) { donationDataForPage.Add(new donationDataForFundraiserPage() { teamId = thisTransaction.teamId, teamName = thisTransaction.teamName, amount = thisTransaction.amount, GiftType = thisTransaction.GiftType, pageName = thisTransaction.pageName, driveId = thisTransaction.driveId }); } } } summaryDonationData.Value = JsonConvert.SerializeObject(donationDataForPage); }
protected void Page_Load(object sender, EventArgs e) { if (Session["confirmationHtml"] != null) { confirmationWrap.InnerHtml = Session["confirmationHtml"].ToString(); confirmationWrap.Attributes.Add("class", ""); SHFBDonationFormWrapper.Attributes.Add("class", "noHeight"); Session["confirmationHtml"] = null; } else { try { donationFormSettings retrieveSavedData = Content.GetContent(typeof(donationFormSettings)) as donationFormSettings; donationAmountLabel.Text = retrieveSavedData.amountLabel; titleLabel.Text = retrieveSavedData.titleLabel; nameFirstLabel.Text = retrieveSavedData.firstNameLabel; nameLastLabel.Text = retrieveSavedData.lastNameLabel; emailAddressLabel.Text = retrieveSavedData.emailAddressLabel; anonymousLabel.Text = retrieveSavedData.anonymousLabel; phoneNumberLabel.Text = retrieveSavedData.phoneNumberLabel; streetAddresLabel.Text = retrieveSavedData.streetAddressLabel; cityLabel.Text = retrieveSavedData.cityLabel; stateLabel.Text = retrieveSavedData.stateLabel; zipCodeLabel.Text = retrieveSavedData.zipLabel; creditCardNumberLabel.Text = retrieveSavedData.creditCardNumberLabel; creditCscLabel.Text = retrieveSavedData.cscLabel; creditExpirationLabel.Text = retrieveSavedData.expirationLabel; savedConfirmationHtml = retrieveSavedData.confirmationHtml; savedEmailHtml = retrieveSavedData.acknowledgementHtml; driveTypeString = retrieveSavedData.selectedRegistrationString; transactionId = retrieveSavedData.customTransactionGuid; donationTransId.Value = transactionId.ToString(); Guid RegistrationTransactionId = new Guid(retrieveSavedData.registrationTransactionGuid); AppealId = retrieveSavedData.appealId; CampaignId = retrieveSavedData.campaignId; FundId = retrieveSavedData.fundId; driveType = retrieveSavedData.selectedRegistrationType; driveTypeString = retrieveSavedData.selectedRegistrationString; emailTemplateId = retrieveSavedData.emailTemplateId; emailTemplateName = retrieveSavedData.emailTemplateName; subject = retrieveSavedData.subjectLine; fromName = retrieveSavedData.fromName; fromAddress = retrieveSavedData.fromAddress; replyAddress = retrieveSavedData.replyAddress; additionalRecipients = retrieveSavedData.additionalRecipients; driveTypeId.Value = driveType.ToString(); sortOrder.Value = retrieveSavedData.sortOrder; merchantAccountGuid = new Guid(retrieveSavedData.merchantAccountGuid); emailTemplateIdString = retrieveSavedData.emailTemplateIdString; //Location_ID.Value = "100"; getPastDonationData(); setYears(); //string fundraiserPage = Request.QueryString["fundraiser"]; string urlPath = HttpContext.Current.Request.Url.AbsolutePath.Replace("/", "").ToLower(); CustomTransaction[] allTransactions; Blackbaud.Web.Content.Core.Extensions.API.Transactions.CustomTransactions transactionRetriever = new Blackbaud.Web.Content.Core.Extensions.API.Transactions.CustomTransactions(); int idOfTransactionForPage; int currentUser = API.Users.CurrentUser.UserID; try { allTransactions = transactionRetriever.GetTransactionsByType(RegistrationTransactionId); foreach (CustomTransaction transaction in allTransactions) { string thisTransaction = transaction.Data; string thisUrl = ""; string firstName = ""; string lastName = ""; string emailAddress = ""; string thisDollarGoal = ""; string thisPoundGoal = ""; StringReader stringReader = new StringReader(thisTransaction); XmlTextReader reader = new XmlTextReader(stringReader); while (reader.Read()) { if (reader.IsStartElement()) { switch (reader.Name) { case "friendlyUrl": thisUrl = reader.ReadString().ToLower(); if (thisUrl == urlPath) { idOfTransactionForPage = transaction.ID; } break; case "userId": dataToPassToDonationForm.solicitorId = int.Parse(reader.ReadString()); break; case "teamNames": dataToPassToDonationForm.Teams = reader.ReadString(); break; case "orgName": dataToPassToDonationForm.solicitorOrg = reader.ReadString(); break; case "firstName": firstName = reader.ReadString(); dataToPassToDonationForm.firstName = firstName; break; case "lastName": lastName = reader.ReadString(); dataToPassToDonationForm.lastName = lastName; break; case "emailAddress": emailAddress = reader.ReadString(); break; case "newOrgId": dataToPassToDonationForm.orgId = int.Parse(reader.ReadString()); break; case "totalGoal": thisDollarGoal = reader.ReadString(); break; case "poundGoal": thisPoundGoal = reader.ReadString(); break; default: break; } } } if (urlPath == thisUrl) { donationData.Value = JsonConvert.SerializeObject(dataToPassToDonationForm); totalGoal.Value = thisDollarGoal; poundGoal.Value = thisPoundGoal; } } } catch (Exception err) { if (HttpContext.Current.Request.Url.AbsoluteUri.Contains("pagedesign")) { /*System.Web.UI.HtmlControls.HtmlGenericControl createDiv = new System.Web.UI.HtmlControls.HtmlGenericControl("DIV"); * createDiv.ID = "donationFormError"; * createDiv.InnerHtml = */ ExceptionWrap.InnerHtml = "Please make sure to set the registration form GUID when editing the donation form"; } } } catch (Exception err) { SHFBDonationFormWrapper.InnerHtml = "Please check part configuration."; } getTitles(); } }