Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public void submitCustomTransactionForRecord(string authCode, int bbncTransactionId)
        {
            DateTime now   = DateTime.UtcNow;
            var      tz    = TimeZoneInfo.Local;
            bool     isDst = tz.IsDaylightSavingTime(now);
            double   offset;

            if (isDst)
            {
                now = now.AddHours(-7);
            }
            else
            {
                now = now.AddHours(-8);
            }
            donationCustomTransaction thisTransaction = new donationCustomTransaction();

            thisTransaction.cardHolderName    = nameFirst.Text + ' ' + nameLast.Text;
            thisTransaction.date              = now.ToString();
            thisTransaction.authCode          = authCode;
            thisTransaction.amount            = decimal.Parse(donationAmount.Text);
            thisTransaction.bbncTransactionId = bbncTransactionId;
            thisTransaction.teamId            = Location_ID.Value;
            thisTransaction.teamName          = teamName.Value;
            thisTransaction.GiftType          = "Cash";
            thisTransaction.driveId           = int.Parse(driveTypeId.Value);

            if (Request.QueryString["fundraiser"] != null)
            {
                thisTransaction.pageName = Request.QueryString["fundraiser"];
            }
            else
            {
                thisTransaction.pageName = HttpContext.Current.Request.Url.AbsolutePath.Replace("/", "");
            }

            thisTransaction.emailAddress  = emailAddress.Text;
            thisTransaction.onlineGift    = true;
            thisTransaction.donorAddress  = streetAddressInput.Text + ',' + city.Text + ',' + tempState.Value + ',' + zipCode.Text;
            thisTransaction.solicitorName = orgName.Value;

            if (IsVrGift.Value == "true")
            {
                thisTransaction.isVrGift = true;
            }
            else
            {
                thisTransaction.isVrGift = false;
            }
            Blackbaud.Web.Content.Core.Extensions.API.Transactions.CustomTransactions myTransaction = new Blackbaud.Web.Content.Core.Extensions.API.Transactions.CustomTransactions();

            myTransaction.RecordTransaction(transactionId, thisTransaction);
            displayConfirmation();
        }