public void GivenTheUserHasEnteredAnyContactDetail()
        {
            firstContact = GenerateContactDetails.NewContactDetail();

            _test.pages.Dashboard.NavigateToSection("Contact details");
            _test.pages.ContactDetails.EnterAllData(firstContact);
        }
        public void GivenTheUserHasEnteredTwoContactDetails()
        {
            firstContact = GenerateContactDetails.NewContactDetail(test.Solution.Id);
            var secondContact = GenerateContactDetails.NewContactDetail(test.Solution.Id);

            test.Pages.Dashboard.NavigateToSection("Contact details");
            test.Pages.ContactDetails.EnterAllData(firstContact, secondContact);
        }
        public void EnterAllData(IContactDetail firstContact, IContactDetail secondContact = null, bool clearFirst = false)
        {
            FirstContactComplete(firstContact, clearFirst);

            if (!(secondContact is null))
            {
                SecondContactComplete(secondContact, clearFirst);
            }
        }
        public async Task GivenTheUserHasEnteredAnyContactDetail(string userType)
        {
            await test.SetUrlAsync(userType : userType);

            test.GoToUrl();

            firstContact = GenerateContactDetails.NewContactDetail(test.Solution.Id);

            test.Pages.Dashboard.NavigateToSection("Contact details");
            test.Pages.ContactDetails.EnterAllData(firstContact);
        }
        public static void CreateContactDetails(string solutionId, IContactDetail contactDetail, string connectionString)
        {
            var query = Queries.CreateMarketingContact;

            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@solutionId", solutionId),
                new SqlParameter("@firstName", contactDetail.FirstName),
                new SqlParameter("@lastName", contactDetail.LastName),
                new SqlParameter("@email", contactDetail.EmailAddress),
                new SqlParameter("@phoneNumber", contactDetail.PhoneNumber),
                new SqlParameter("@department", contactDetail.JobSector)
            };

            var result = SqlReader.Read(connectionString, query, parameters, DataReaders.NoReturn);
        }
        private void SecondContactComplete(IContactDetail contact, bool clearFirst)
        {
            if (clearFirst)
            {
                Driver.FindElement(Objects.Pages.ContactDetails.Contact2FirstName).Clear();
                Driver.FindElement(Objects.Pages.ContactDetails.Contact2LastName).Clear();
                Driver.FindElement(Objects.Pages.ContactDetails.Contact2EmailAddress).Clear();
                Driver.FindElement(Objects.Pages.ContactDetails.Contact2PhoneNumber).Clear();
                Driver.FindElement(Objects.Pages.ContactDetails.Contact2JobSector).Clear();
            }

            Driver.FindElement(Objects.Pages.ContactDetails.Contact2FirstName).SendKeys(contact.FirstName);
            Driver.FindElement(Objects.Pages.ContactDetails.Contact2LastName).SendKeys(contact.LastName);
            Driver.FindElement(Objects.Pages.ContactDetails.Contact2EmailAddress).SendKeys(contact.Email);
            Driver.FindElement(Objects.Pages.ContactDetails.Contact2PhoneNumber).SendKeys(contact.PhoneNumber);
            Driver.FindElement(Objects.Pages.ContactDetails.Contact2JobSector).SendKeys(contact.Department);
        }
        private void SecondContactComplete(IContactDetail contact, bool clearFirst)
        {
            if (clearFirst)
            {
                driver.FindElement(pages.ContactDetails.Contact2FirstName).Clear();
                driver.FindElement(pages.ContactDetails.Contact2LastName).Clear();
                driver.FindElement(pages.ContactDetails.Contact2EmailAddress).Clear();
                driver.FindElement(pages.ContactDetails.Contact2PhoneNumber).Clear();
                driver.FindElement(pages.ContactDetails.Contact2JobSector).Clear();
            }

            driver.FindElement(pages.ContactDetails.Contact2FirstName).SendKeys(contact.FirstName);
            driver.FindElement(pages.ContactDetails.Contact2LastName).SendKeys(contact.LastName);
            driver.FindElement(pages.ContactDetails.Contact2EmailAddress).SendKeys(contact.EmailAddress);
            driver.FindElement(pages.ContactDetails.Contact2PhoneNumber).SendKeys(contact.PhoneNumber);
            driver.FindElement(pages.ContactDetails.Contact2JobSector).SendKeys(contact.JobSector);
        }