public void WhenIAddPlanOutlineToMajorGivingSetup(string planName, Table planSteps)
 {
     planName += uniqueStamp;
     BBCRMHomePage.OpenProspectsFA();
     ProspectsFunctionalArea.MajorGivingSetup();
     MajorGivingSetupPanel.AddPlanOutline(planName, planSteps);
 }
 public void GivenMajorGivingPlanExists(Table plans)
 {
     foreach (var plan in plans.Rows)
     {
         BBCRMHomePage.OpenProspectsFA();
         ProspectsFunctionalArea.MajorGivingSetup();
         if (!MajorGivingSetupPanel.PlanOutlineExists(plan))
         {
             throw new Exception(String.Format("Major giving plan '{0}' does not exist.", plan.Values));
         }
     }
 }
 public void WhenIAddPlanOutlineToMajorGivingSetup(string planName, Table planSteps)
 {
     try
     {
         planName += uniqueStamp;                                   //The unique stamp is a series of numbers added to the end to keep names distinctive
         BBCRMHomePage.OpenProspectsFA();                           // open the prospect functional area
         ProspectsFunctionalArea.MajorGivingSetup();                // setup major giving
         MajorGivingSetupPanel.AddPlanOutline(planName, planSteps); // add a plan
     }
     catch (Exception ex)
     {
         throw new Exception("Error: could not add a plan outline to a major giving setup. " + ex.Message);
     }
 }
        public void SearchProspect(string prospectName)
        {
            BBCRMHomePage.OpenProspectsFA();

            Dialog.WaitClick("//button[contains(@class,'linkbutton')]/div[text()='Search Prospects']", 15);
            //For the advanced search options, allow for including organizations, groups and individuals
            Dialog.SetTextField("//input[contains(@id,'_KEYNAME_value')]", prospectName);
            Dialog.WaitClick("//a[contains(@id,'_SHOWADVANCEDOPTIONS_action')]", 15);
            Dialog.SetCheckbox("//input[contains(@id,'_INCLUDEORGANIZATIONS_value')]", false);
            Dialog.SetCheckbox("//input[contains(@id,'_INCLUDEGROUPS_value')]", false);
            Dialog.SetCheckbox("//input[contains(@id,'_INCLUDEINDIVIDUALS_value')]", true);
            //search for a specific last name
            SearchDialog.Search();
            SearchDialog.SelectFirstResult();
        }
        public void ThenAProspectRequestIsAdded(string prospectName)
        {
            try
            {
                prospectName += uniqueStamp;     //The unique stamp is a series of numbers added to the end to keep names distinctive
                BBCRMHomePage.OpenProspectsFA(); // open prospects functional area
                SearchProspect(prospectName);    //search for the prospect
                //string for the XPath for the notification button
                string notificationString = "//div[@class='bbui-pages-summary-infobar']/button[contains(./text(), 'Notifications:') and contains(./text(), 'Click here for more information.')]";

                Panel.WaitClick(notificationString, 10); //click on the notification button
            }
            catch (Exception ex)
            {
                throw new Exception("Error: could not save the prospect request. " + ex.Message);
            }
        }
 public void WhenIAddAProspectRequest(string prospectName)
 {
     try
     {
         prospectName += uniqueStamp;                                                                                   //The unique stamp is a series of numbers added to the end to keep names distinctive
         BBCRMHomePage.OpenProspectsFA();                                                                               // open prospects functional area
         Dialog.WaitClick("//button[contains(@class,'linkbutton')]/div[text()='Add a prospect research request']", 20); //click on the research request link
         //set the fields on the request dialog form
         Dialog.SetTextField("//input[contains(@id,'_PROSPECTRESEARCHREQUESTPRIORITYCODEID_value')]", "No Meeting Planned");
         Dialog.SetTextField("//input[contains(@id,'_PROSPECTRESEARCHREQUESTTYPECODEID_value')]", "Research Profile");
         Dialog.SetTextField("//input[contains(@id,'_PROSPECTRESEARCHREQUESTREASONCODEID_value')]", "Development Officer Request");
         Dialog.SetSearchList(Dialog.getXInput("_ProspectResearchRequestAddForm", "_REQUESTEDBYID_value"), Dialog.getXInput("FundraiserSearch", "_KEYNAME_value"), "Root");
         string gridXPath = Dialog.getXGridCell("dataformdialog_", "CONSTITUENTS_value", 1, 2);
         Dialog.SetGridTextField(gridXPath, prospectName);
         Dialog.Save();
     }
     catch (Exception ex)
     {
         throw new Exception("Error: could not save the interaction. " + ex.Message);
     }
 }
        public void WhenIAddProspectConstituencyTo(string lastName, Table prospects)
        {
            try
            {
                lastName += uniqueStamp;         //The unique stamp is a series of numbers added to the end to keep names distinctive
                BBCRMHomePage.OpenProspectsFA(); // open the prospect functional area

                if (prospects != null || prospects.Rows.Count > 0)
                {
                    BBCRMHomePage.OpenProspectsFA(); // open the prospect functional area
                    //click on the link to create a prospect from a constituent
                    Dialog.WaitClick("//button[contains(@class,'linkbutton')]/div[text()='Add a Prospect']", 15);
                    // add prospect status for the constituent
                    Dialog.SetSearchList(Dialog.getXInput("ProspectWithoutConstituentAddForm", "_PROSPECTID_value"), Dialog.getXInput("NonProspectSearch", "_KEYNAME_value"), lastName);
                    Dialog.Save();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Error: could not add a prospect constituency. " + ex.Message);
            }
        }
        public void GivenProspectExists(string lastName)
        {
            try
            {
                lastName += uniqueStamp;                      //The unique stamp is a series of numbers added to the end to keep names distinctive
                BBCRMHomePage.OpenConstituentsFA();           //Open the Constituent Functional area
                ConstituentsFunctionalArea.AddAnIndividual(); // add a constituent
                IndividualDialog.SetLastName(lastName);       // enter the last name
                IndividualDialog.SetTextField("//input[contains(@id,'_EMAILADDRESS_EMAILADDRESS_value')]", "*****@*****.**");
                IndividualDialog.SetTextField("//input[contains(@id,'_BIRTHDATE_value')]", "12/10/1952");
                IndividualDialog.Save();

                BBCRMHomePage.OpenProspectsFA();  // open the prospect functional area
                //click on the link to create a prospect from a constituent
                Dialog.WaitClick("//button[contains(@class,'linkbutton')]/div[text()='Add a Prospect']", 15);
                // add prospect status for the constituent
                Dialog.SetSearchList(Dialog.getXInput("ProspectWithoutConstituentAddForm", "_PROSPECTID_value"), Dialog.getXInput("NonProspectSearch", "_KEYNAME_value"), lastName);
                Dialog.Save();
            }
            catch (Exception ex)
            {
                throw new Exception("Error: could not determine that the given prospect exists. " + ex.Message);
            }
        }