public string FetchAttendeeId(int registrationId)
 {
     string attendeeID = string.Empty;
     var db = new DataAccess.ClientDataContext(ConfigReader.DefaultProvider.EnvironmentConfiguration.ClientDbConnection);
     var id = (from i in db.Registrations where i.Register_Id == registrationId select i.Attendee_Id).ToList();
     attendeeID = id[0].ToString();
     return attendeeID;
 }
 public string FetchConfirmationEmailId(EmailCategory category, int eventId)
 {
     int regMailTriggerId = RegMailTriggerIdAttribute.GetRegMailTriggerId(category);
     string emailId = string.Empty;
     var db = new DataAccess.ClientDataContext(ConfigReader.DefaultProvider.EnvironmentConfiguration.ClientDbConnection);
     var id = (from i in db.RegMailResponders where i.EventId == eventId && i.RegMailTypeId == 2 && i.RegMailTriggerId == regMailTriggerId orderby i.Id descending select i.Id).ToList();
     emailId = id[0].ToString();
     return emailId;
 }
 public string FetchInvitationEmailId(string emailName)
 {
     string emailId = string.Empty;
     var db = new DataAccess.ClientDataContext(ConfigReader.DefaultProvider.EnvironmentConfiguration.ClientDbConnection);
     var id = (from i in db.EmailJobs where i.CustomerId == Convert.ToInt32(ConfigReader.DefaultProvider.AccountConfiguration.Id) && i.Description == emailName select i.Id).ToList();
     emailId = id[0].ToString();
     return emailId;
 }
        public void UpdateCustomFieldResponsesForRegistration()
        {
            RunTestToGetAPIToken();

            if (this.cfResponses == null)
            {
                this.GetCustomFieldResponsesForRegistration();
            }

            // There is only one custom field
            this.cfResponses[0].Response = "False";

            ResultsOfBoolean result = this.service.UpdateCustomFieldResponsesForRegistration(
                header,
                this.eventId,
                this.registrationId,
                this.cfResponses);

            Assert.IsTrue(result.Success);
            Assert.IsTrue(result.Data);

            var db = new DataAccess.ClientDataContext(ConfigReader.DefaultProvider.EnvironmentConfiguration.ClientDbConnection);
                var response = from cfResponse in db.Custom_Field_Responses
                                where cfResponse.rRegisterId == this.registrationId
                                && cfResponse.EventId == this.eventId
                                && cfResponse.CFId == this.cfId
                                select cfResponse;

                List<DataAccess.Custom_Field_Response> responseList = response.ToList();
                Assert.AreEqual(1, responseList.Count);
                Assert.AreEqual("False", responseList[0].Response);
        }
        public void LoginRegistrant()
        {
            PrepareEventAndRegistrations();

            // Get most recent registrant's email address
            string email = string.Empty;
            var db = new DataAccess.ClientDataContext();

            var registrations = (from r in db.Registrations
                                 where r.Event_Id == this.eventId
                                 orderby r.Add_Date descending
                                 select r).ToList();

            email = registrations[0].Attendee.Email_Address;
            Assert.That(!string.IsNullOrEmpty(email));

            // Ensure the registrant can login to the API
            registrantAPIToken = this.LoginRegistrantToGetAPIToken(email);
            Assert.That(!string.IsNullOrEmpty(registrantAPIToken));
        }
        public void UpdateRenewDateAndRunReccuringFeeProcessor(int registrantId)
        {
            var db = new DataAccess.ClientDataContext(ConfigReader.DefaultProvider.EnvironmentConfiguration.ClientDbConnection);
            int rowsAffected;

            // Set time back to one hour ago so that Recurring Fee Processor can process it
            string command = string.Format(
                "UPDATE dbo.recurringFee SET nextPayDate = '{0}', renewDate = '{0}' WHERE registrationID = {1}",
                DateTime.Now.AddHours(-1).ToString("M/d/yyyy HH:mm:ss.fff"), registrantId);

            rowsAffected = db.ExecuteCommand(command);

            // Set registration date to sometime before now to make one time discount code works correctly
            command = string.Format(
                "UPDATE dbo.Registrations SET RegistrationDate = '{0}' WHERE Register_Id = {1}",
                DateTime.Now.AddYears(-1).ToString("M/d/yyyy HH:mm:ss.fff"), registrantId);

            rowsAffected = db.ExecuteCommand(command);

            UIUtil.DefaultProvider.OpenUrl(
                ConfigReader.DefaultProvider.AccountConfiguration.BaseUrlWithHttps + "recurringFeeProcessor.aspx?Token=E4627417-0596-427C-AC92-399F6EF5B826");

            UIUtil.DefaultProvider.WaitForPageToLoad();
        }
        public void TennisAustraliaWebservice()
        {
            int newEventId = -1;
            using (ES.EventServiceSoapClient eventService = new ES.EventServiceSoapClient())
            {
                //eventService.Url = "https://beta.regonline.com/webservices/Events/EventService.asmx";
                //eventService. .AuthenticationHeaderValue = GetEventServiceAuthHeader();
                int badEventId = 0;

                int sourceEventId = 625868;
                int desitinationCustomerId = 377427;
                DateTime now = DateTime.Now;
                string clientEventId = "TPTestClientEventID";
                string eventTitle = "The Visual Test Event";
                string city = "Amsterdam";
                string state = "NH";
                string country = "Netherlands";
                string postalCode = "1111AB";
                string redirectConfirmationURL = "http://www.tournamentsoftware.com/link/onlinepaymentreturn.aspx?id={rolid}";
                DateTime? startDate = now;
                DateTime? endDate = now.AddDays(5);
                string creditCardDescriptor = "Test Descriptor";

                ES.EventBasics eventBasics = new ES.EventBasics();
                eventBasics.ClientEventID = clientEventId;
                eventBasics.EventTitle = eventTitle;
                eventBasics.City = city;
                eventBasics.State = state;
                eventBasics.PostalCode = postalCode;
                eventBasics.Country = country;
                eventBasics.StartDate = startDate;
                eventBasics.EndDate = endDate;
                eventBasics.CreditCardDescriptor = creditCardDescriptor;
                eventBasics.RedirectConfirmationURL = redirectConfirmationURL;

                ES.RegOnlineResponseOfInt32 eventResponse = eventService.CreateEventFromTemplate(GetEventServiceAuthHeader(), sourceEventId, desitinationCustomerId, eventBasics);
                newEventId = eventResponse.Value;

                Assert.Greater(eventResponse.Value, badEventId);

                RegOnlineAPIFixture apiFixture = new RegOnlineAPIFixture();
                ResultsOfListOfEvent result = apiFixture.FetchEvent(User, Password, newEventId);
                Assert.IsTrue(result.Success);
                Assert.AreEqual(eventTitle, result.Data[0].Title);
                Assert.AreEqual(RegOnline.RegressionTest.Managers.Manager.Dashboard.DashboardManager.EventStatus.Active.ToString(), result.Data[0].Status);

                using (RegistrationService.RegistrationServiceSoapClient regService = new RegistrationService.RegistrationServiceSoapClient())
                {
                    //regService.Url = "https://beta.regonline.com/webservices/Registrations/RegistrationService.asmx";
                    //regService.AuthenticationHeaderValue = GetRegistrationServiceAuthHeader();

                    RS.RegOnlineResponseOfInitializeRegistrationSessionResponseType regResponse =
                        regService.InitializeRegistrationSession(GetRegistrationServiceAuthHeader(), newEventId, 10, setupTemplatePersonalInfo());

                    Assert.That(regResponse.Status.Success);
                    Assert.That(regResponse.Value.SessionId.Length > 0);
                    Assert.That(regResponse.Value.RegistrationId > 0);
                    Assert.That(regResponse.Value.URL.Length > 0);

                    var db = new DataAccess.ClientDataContext(ConfigReader.DefaultProvider.EnvironmentConfiguration.ClientDbConnection);
                    var regs = (from r in db.Registrations where r.Register_Id == regResponse.Value.RegistrationId select r).ToList();
                    Assert.That(regs[0].Test == false);
                }

                //now update the event
                eventBasics.City = "Sydney";
                eventBasics.ID = newEventId;
                ES.RegOnlineResponseOfBoolean updateResponse = eventService.UpdateEvent(GetEventServiceAuthHeader(), eventBasics);
                Assert.That(updateResponse.Value);
                Assert.That(updateResponse.Status.Success);
            }
        }
 private void VerifyActiveDateInDB()
 {
     var db = new DataAccess.ClientDataContext(ConfigReader.DefaultProvider.EnvironmentConfiguration.ClientDbConnection);
     var activeDate = (from e in db.Events where e.Id == eventID select e.ActiveDate).ToList();
     string date = activeDate[0].ToString();
     string[] dateAndTime = date.Split(new char[] { ' ' });
     VerifyTool.VerifyValue(DateTime.Today.ToString("d"), dateAndTime[0], "Active Date: {0}");
 }