///  <summary>
 /// Place An Order for Organization License.
 ///  </summary>
 ///  <param name="organizationLevelEnum">This is organization level enum.</param>
 /// <param name="organizationTypeEnum">This is organization type enum.</param>
 public void PlaceOrganizationLicenseOrder(Organization.OrganizationLevelEnum
                                           organizationLevelEnum, Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Place An Order for Organization License
     Logger.LogMethodEntry("PlaceOrderPage", "PlaceOrganizationLicenseOrder",
                           base.IsTakeScreenShotDuringEntryExit);
     try
     {
         //Wait for element
         base.WaitForElement(By.Id(PlaceOrderPageResource.
                                   PlaceOrder_Page_Select_OrderingSystem_Id_Locator));
         base.FocusOnElementById(PlaceOrderPageResource.
                                 PlaceOrder_Page_Select_OrderingSystem_Id_Locator);
         //Selects the Ordering system
         base.SelectDropDownValueThroughTextById(PlaceOrderPageResource.
                                                 PlaceOrder_Page_Select_OrderingSystem_Id_Locator,
                                                 PlaceOrderPageResource.
                                                 PlaceOrder_Page_Select_OrderingSystem_Value);
         //Wait for element
         base.WaitForElement(By.Id(PlaceOrderPageResource.
                                   PlaceOrder_Page_OrderId_Id_Locator));
         base.FocusOnElementById(PlaceOrderPageResource.
                                 PlaceOrder_Page_OrderId_Id_Locator);
         //Enter Rumba Lincense Detail
         this.EnterRumbaLicenseDetail(organizationLevelEnum, organizationTypeEnum);
     }
     catch (Exception e)
     {
         ExceptionHandler.HandleException(e);
     }
     Logger.LogMethodExit("PlaceOrderPage", "PlaceOrganizationLicenseOrder",
                          base.IsTakeScreenShotDuringEntryExit);
 }
        /// <summary>
        /// Enter Rumba License Details.
        /// </summary>
        /// <param name="organizationLevelEnum">This is organization level enum.</param>
        /// <param name="organizationTypeEnum">This is organization type enum.</param>
        private void EnterRumbaLicenseDetail(Organization.OrganizationLevelEnum
                                             organizationLevelEnum, Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Enter License Details
            Logger.LogMethodEntry("PlaceOrderPage", "EnterRumbaLicenseDetail",
                                  base.IsTakeScreenShotDuringEntryExit);
            //Get Rumba License Information
            License license = License.Get(License.LicenseTypeEnum.Rumba);

            //Enter Product External Id
            this.EnterProductExternalID();
            //Enter License Order ID
            base.FillTextBoxById(PlaceOrderPageResource.
                                 PlaceOrder_Page_OrderId_Id_Locator, license.OrderId);
            //Get State Level Organization
            Organization organization = Organization.
                                        Get(organizationLevelEnum, organizationTypeEnum);

            //Select Organization
            this.SelectOrganization(organization.Name);
            //Enter Line Item Id And License Type
            this.EnterLineItemIDAndLicenseType();
            //Enter License Start Date And End Date and Quantity
            this.EnterlLicenseStartEndDateAndQuantity();
            //Click On Submit
            this.ClickOnSubmitButton();
            Logger.LogMethodExit("PlaceOrderPage", "EnterRumbaLicenseDetail",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
Пример #3
0
 /// <summary>
 /// Create Rumba User.
 /// </summary>
 /// <param name="userTypeEnum">This is User Type Enum.</param>
 /// <param name="organizationLevelEnum">This is organization level enum.</param>
 /// <param name="organizationTypeEnum">This is organization type enum.</param>
 public void CreateNewUser(User.UserTypeEnum userTypeEnum,
                           Organization.OrganizationLevelEnum organizationLevelEnum,
                           Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Create a User
     Logger.LogMethodEntry("CreateUserPage", "CreateNewUser",
                           base.IsTakeScreenShotDuringEntryExit);
     try
     {
         //Select Window
         SelectCreateUserAccountWindow();
         // Generate User Login Details Guid
         Guid userLoginInformation = Guid.NewGuid();
         //Enter User Details
         this.EnterUserDetails(userLoginInformation);
         //Enter Organization Name
         this.EnterOrganizationName(organizationLevelEnum,
                                    organizationTypeEnum);
         //Select organization
         this.SelectOrganizationName();
         //Get Organization Id
         //this.GetAndStoreOrganizationID(organizationLevelEnum,
         //    organizationTypeEnum);
         //Select the Role and Create User
         this.SelectRoleAndCreateUser(userTypeEnum, userLoginInformation);
     }
     catch (Exception e)
     {
         ExceptionHandler.HandleException(e);
     }
     Logger.LogMethodExit("CreateUserPage", "CreateNewUser",
                          base.IsTakeScreenShotDuringEntryExit);
 }
        /// <summary>
        /// Create District level organization
        /// </summary>
        /// <param name="organizationLevelEnum">This is organization level name enum.</param>
        /// <param name="organizationTypeEnum">This is organization level type enum.</param>
        /// <param name="organizationCreationCondition">This is organization level creation condition.</param>
        public void CreateDistrictOrganizationInProductBasedOnLevel(
            Organization.OrganizationLevelEnum
            organizationLevelEnum,
            Organization.OrganizationTypeEnum organizationTypeEnum,
            string organizationCreationCondition)
        {
            //Create Organization Based On Level of Organization
            Logger.LogMethodEntry("CreateOrganizationPage",
                                  "CreateDistrictOrganizationInProductBasedOnLevel",
                                  base.IsTakeScreenShotDuringEntryExit);
            //Guid for Organization Name
            Guid organizationNameGuid = Guid.NewGuid();

            try
            {
                //Created OrganizationPage Object
                CreateOrganizationPage createOrganizationPage
                    = new CreateOrganizationPage();
                //Select Organization Window
                createOrganizationPage.SelectCreateOrganizationWindow();
                //Create New Organization
                createOrganizationPage.CreateNewDistrictOrganizationForDifferentLevels
                    (organizationLevelEnum, organizationTypeEnum);
            }
            catch (Exception e)
            {
                ExceptionHandler.HandleException(e);
            }
            Logger.LogMethodExit("CreateOrganizationPage",
                                 "CreateDistrictOrganizationInProductBasedOnLevel",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
        /// <summary>
        /// Create School Level Organization.
        /// </summary>
        /// <param name="organizationLevelEnum">This is the organization level enum.</param>
        /// <param name="organizationTypeEnum">This is organization type enum.</param>
        private void CreateSchoolLevelOrganization(
            Organization.OrganizationLevelEnum
            organizationLevelEnum, Organization.OrganizationTypeEnum
            organizationTypeEnum)
        {
            //Create School Level Organization
            Logger.LogMethodEntry("CreateOrganizationPage", "CreateSchoolLevelOrganization",
                                  base.IsTakeScreenShotDuringEntryExit);
            //Intialize Guid for organization
            Guid organizationNameGuid = Guid.NewGuid();

            //Enter Organization Name
            this.EnterOrganizationName(organizationNameGuid);
            //Fill Organization Contact Details
            this.FillOrganizationContactDetails(organizationNameGuid);
            //Select School Level Organization
            this.SelectSchoolLevelOrganization();
            //Select State
            this.SelectOrganizationState();
            //Select Organization Type Based on Level
            this.SelectOrganizationTypeCheckBox(organizationLevelEnum);
            //Click on Save Button
            this.ClickOnButtonToSaveOrganization();
            //Wait Pop Up Get Close
            if (base.IsPopUpClosed(2))
            {
                //Store the organization details
                this.StoreTheOrganizationDetails(organizationNameGuid,
                                                 organizationLevelEnum, organizationTypeEnum);
            }
            Logger.LogMethodExit("CreateOrganizationPage", "CreateSchoolLevelOrganization",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
 public void CreateTheOrganizationLevels
     (Organization.OrganizationLevelEnum organizationLevelEnum,
     Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Create organization
     Logger.LogMethodEntry("CreateOrganization", "CreateTheOrganizationLevels",
                           base.isTakeScreenShotDuringEntryExit);
     //Create organization based on level
     new CreateOrganizationPage().CreateOrganizationInProductBasedOnLevel(
         organizationLevelEnum, organizationTypeEnum);
     Logger.LogMethodExit("CreateOrganization", "CreateTheOrganizationLevels",
                          base.isTakeScreenShotDuringEntryExit);
 }
Пример #7
0
 public void CreateUserByRadmin(User.UserTypeEnum userTypeEnum,
                                Organization.OrganizationLevelEnum organizationLevelEnum,
                                Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Create User As Radmin
     Logger.LogMethodEntry("RumbaUserCreation", "CreateUserByRadmin",
                           base.IsTakeScreenShotDuringEntryExit);
     //Create a User
     new CreateUserPage().CreateNewUser(userTypeEnum,
                                        organizationLevelEnum, organizationTypeEnum);
     Logger.LogMethodExit("RumbaUserCreation", "CreateUserByRadmin",
                          base.IsTakeScreenShotDuringEntryExit);
 }
 /// <summary>
 /// Create School Level Organization.
 /// </summary>
 /// <param name="organizationLevelEnum">This is Organization Level Enum.</param>
 /// <param name="organizationTypeEnum">This is Organization Type Enum.</param>
 /// <param name="organizationNameGuid">This is Organization Name GUID.</param>
 private void CreateSchoolLevelOrganization(
     Organization.OrganizationLevelEnum organizationLevelEnum,
     Organization.OrganizationTypeEnum organizationTypeEnum,
     Guid organizationNameGuid)
 {
     ///Create School Level Organization
     Logger.LogMethodEntry("CreateOrganizationPage", "CreateSchoolLevelOrganization",
                           base.IsTakeScreenShotDuringEntryExit);
     if (organizationTypeEnum != Organization.OrganizationTypeEnum.DigitalPathDemo)
     {
         //Select Organization Management Window
         this.SelectOrganizationManagementWindow();
         //Click on New Organization Link
         new OrganizationManagementPage().ClickOnTheCreateNewOrganizationLink();
         //Select Organization Window
         new CreateOrganizationPage().SelectCreateOrganizationWindow();
     }
     //Select Country
     this.SelectCountryOptionForStateLevelOrganization();
     // Fill Internal Organization Name
     this.FillInternalOrganizationName(organizationNameGuid);
     //Fill Organization Display Name
     FillOrganizationDisplayName();
     if (organizationTypeEnum == Organization.OrganizationTypeEnum.DigitalPathDemo)
     {
         base.WaitForElement(By.Id(CreateOrganizationPageResource.
                                   CreateOrganization_Page_DemoOrganisation_CheckBox_Id_Locator));
         //Click Demo Organisation CheckBox
         IWebElement demoOrganizationCheckbox = base.GetWebElementPropertiesById
                                                    (CreateOrganizationPageResource.CreateOrganization_Page_DemoOrganisation_CheckBox_Id_Locator);
         base.ClickByJavaScriptExecutor(demoOrganizationCheckbox);
     }
     //Fill Organization Contact Details
     this.FillOrganizationContactDetails(organizationNameGuid);
     //Select Organization Type Based on Level
     this.SelectOrganizationTypeCheckBox(organizationLevelEnum);
     //Remove State Region and District Level Organization
     this.RemoveStateRegionandDistrictLevelOrganization();
     //Click on Button To Save Organization
     this.ClickOnButtonToSaveOrganization();
     //Wait Pop Up Get Close
     if (base.IsPopUpClosed(2))
     {
         //Store the organization details
         this.StoreTheOrganizationDetails(organizationNameGuid,
                                          organizationLevelEnum, organizationTypeEnum);
     }
     Logger.LogMethodExit("CreateOrganizationPage", "CreateSchoolLevelOrganization",
                          base.IsTakeScreenShotDuringEntryExit);
 }
Пример #9
0
 public void PlaceNewOrderForProductLicense(Organization.OrganizationLevelEnum
                                            organizationLevelEnum, Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Place A New Order For A License To Use A Product
     Logger.LogMethodEntry("RumbaLicensing", "PlaceNewOrderForProductLicense",
                           base.IsTakeScreenShotDuringEntryExit);
     //Click On Place An Order Link
     new WelcometoRADminPage().ClickOnPlaceAnOrderLink();
     //Place an product license order
     new PlaceOrderPage().PlaceOrganizationLicenseOrder(
         organizationLevelEnum, organizationTypeEnum);
     Logger.LogMethodExit("RumbaLicensing", "PlaceNewOrderForProductLicense",
                          base.IsTakeScreenShotDuringEntryExit);
 }
Пример #10
0
 public void EditTheOrganization(
     Organization.OrganizationLevelEnum organizationLevelEnum,
     Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Edit The Organization
     Logger.LogMethodEntry("CreateOrganization", "EditTheOrganization",
                           base.IsTakeScreenShotDuringEntryExit);
     //Select The Properties Organization Managment Frame
     new CreateOrganizationPage().SelectThePropertiesOrganizationManagmentFrame();
     //Create And Edit the organization
     new CreateOrganizationPage().CreateNewOrganizationForDifferentLevels(
         organizationLevelEnum, organizationTypeEnum);
     Logger.LogMethodExit("CreateOrganization", "EditTheOrganization",
                          base.IsTakeScreenShotDuringEntryExit);
 }
Пример #11
0
        public void SearchTheOrganization
            (Organization.OrganizationLevelEnum organizationLevelEnum,
            Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Search the searched organization
            Logger.LogMethodEntry("CreateOrganization", "SearchTheOrganization",
                                  base.IsTakeScreenShotDuringEntryExit);
            //Fetch the organization name
            Organization organization = Organization.Get(
                organizationLevelEnum, organizationTypeEnum);

            //Searched organization
            new OrganizationManagementPage().
            SearchTheOrganization(organization.Name);
            Logger.LogMethodExit("CreateOrganization", "SearchTheOrganization",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
 public void CreateTheOrganizationInProductForDifferentLevels
     (Organization.OrganizationLevelEnum organizationLevelEnum,
     string organizationCreationCondition,
     Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Create the organization level
     Logger.LogMethodEntry("CreateOrganization",
                           "CreateTheOrganizationInProductForDifferentLevels",
                           base.IsTakeScreenShotDuringEntryExit);
     //Create organization based on level
     new CreateOrganizationPage().
     CreateOrganizationInProductBasedOnLevel(
         organizationLevelEnum, organizationTypeEnum,
         organizationCreationCondition);
     Logger.LogMethodExit("CreateOrganization",
                          "CreateTheOrganizationInProductForDifferentLevels",
                          base.IsTakeScreenShotDuringEntryExit);
 }
Пример #13
0
        public void VerifyTheDisplaySearchOrganization
            (Organization.OrganizationLevelEnum organizationLevelEnum,
            Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Verify the display searched Organization
            Logger.LogMethodEntry("CreateOrganization", "VerifyTheDisplaySearchOrganization",
                                  base.IsTakeScreenShotDuringEntryExit);
            //Fetch the organization name
            Organization organization = Organization.Get(
                organizationLevelEnum, organizationTypeEnum);

            // Assert for search organization
            Logger.LogAssertion("VerifySearchOrganization", ScenarioContext.
                                Current.ScenarioInfo.Title, () => Assert.AreEqual(organization.Name,
                                                                                  new OrganizationManagementPage().GetDisplayofSearchedOrganization()));
            Logger.LogMethodExit("CreateOrganization", "VerifyTheDisplaySearchOrganization",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
        /// <summary>
        /// To create And Edit The different Levels of Organization.
        /// </summary>
        /// <param name="organizationLevelEnum">This is the organization level enum.</param>
        /// <param name="organizationTypeEnum">This is organization type enum.</param>
        public void CreateNewOrganizationForDifferentLevels
            (Organization.OrganizationLevelEnum organizationLevelEnum,
            Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Create And edit the organization details
            Logger.LogMethodEntry("CreateOrganizationPage",
                                  "CreateNewOrganizationForDifferentLevels",
                                  base.IsTakeScreenShotDuringEntryExit);
            //Guid for Organization Name
            Guid organizationNameGuid = Guid.NewGuid();

            try
            {
                switch (organizationLevelEnum)
                {
                //Organization Level is State
                case Organization.OrganizationLevelEnum.State:
                {
                    //Select Country
                    this.SelectCountryOptionForStateLevelOrganization();
                }
                break;
                }
                //Create New Organization Level(s)
                this.FillDetailsForNewOrganizationLevels(
                    organizationNameGuid, organizationLevelEnum);


                //Wait Pop Up Get Close
                if (base.IsPopUpClosed(2))
                {
                    //Store the organization details
                    this.StoreTheOrganizationDetails(organizationNameGuid,
                                                     organizationLevelEnum, organizationTypeEnum);
                }
            }
            catch (Exception e)
            {
                ExceptionHandler.HandleException(e);
            }
            Logger.LogMethodExit("CreateOrganizationPage",
                                 "CreateNewOrganizationForDifferentLevels",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
 /// <summary>
 /// Select Root Level Organization and Create Organization.
 /// </summary>
 /// <param name="organizationLevelEnum">This is the organization level by type.</param>
 /// <param name="organizationTypeEnum">This is organization type enum.</param>
 private void SelectAndCreateOrganization(
     Organization.OrganizationLevelEnum organizationLevelEnum,
     Organization.OrganizationTypeEnum organizationTypeEnum)
 {
     //Select Root Level Organization and Create Organization
     Logger.LogMethodEntry("CreateOrganizationPage", "SelectAndCreateOrganization",
                           base.IsTakeScreenShotDuringEntryExit);
     //Click on Select Button Of Organization
     new OrganizationManagementPage().ClickOnTheOrganizationSelectButton();
     //Click on Add Organization Link
     new OrganizationSearchPage().ClickOnTheAddOrganizationLink();
     //Select the Organization Window
     this.SelectCreateOrganizationWindow();
     //Create New Organization Level
     this.CreateNewOrganizationForDifferentLevels(
         organizationLevelEnum, organizationTypeEnum);
     Logger.LogMethodExit("CreateOrganizationPage", "SelectAndCreateOrganization",
                          base.IsTakeScreenShotDuringEntryExit);
 }
        public void SelectOrganization(Organization.OrganizationLevelEnum organizationLevelEnum,
                                       Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Search and Select the Organization
            Logger.LogMethodEntry("CommonSteps", "SelectOrganization",
                                  IsTakeScreenShotDuringEntryExit);
            //Fetch Organization Name From Memory
            Organization organizationLevel = Organization.Get(
                organizationLevelEnum, organizationTypeEnum);
            //Created Class Object
            OrganizationManagementPage organizationManagementPage = new OrganizationManagementPage();

            //Search the Organization
            organizationManagementPage.SearchOrganization(organizationLevel.Name);
            //Click on Organization Button
            organizationManagementPage.SelectOrganization(organizationLevelEnum);
            Logger.LogMethodExit("CommonSteps", "SelectOrganization",
                                 IsTakeScreenShotDuringEntryExit);
        }
        /// <summary>
        /// Storing the organization details.
        /// </summary>
        /// <param name="organizationName">This is organization name guid.</param>
        /// <param name="organizationLevelEnum">This is organization level Enum.</param>
        /// <param name="organizationTypeEnum">This is organization type enum.</param>
        private void StoreTheOrganizationDetails(Guid organizationName,
                                                 Organization.OrganizationLevelEnum organizationLevelEnum,
                                                 Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Storing the organization details
            Logger.LogMethodEntry("CreateOrganizationPage", "StoreTheOrganizationDetails",
                                  base.IsTakeScreenShotDuringEntryExit);
            Organization organization = new Organization
            {
                Name = organizationName.ToString(),
                OrganizationLevel = organizationLevelEnum,
                OrganizationType  = organizationTypeEnum,
                IsCreated         = true,
            };

            organization.StoreOrganizationInMemory();
            Logger.LogMethodExit("CreateOrganizationPage", "StoreTheOrganizationDetails",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
Пример #18
0
        /// <summary>
        /// This function is to get the organization id and store in memory.
        /// </summary>
        /// <param name="organizationLevelEnum">This is organization level enum.</param>
        /// <param name="organizationTypeEnum">This is organization type enum.</param>
        /// <returns>Organization ID.</returns>
        private void GetAndStoreOrganizationID(Organization.OrganizationLevelEnum
                                               organizationLevelEnum, Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            Logger.LogMethodEntry("CreateUserPage", "GetAndStoreOrganizationID",
                                  base.IsTakeScreenShotDuringEntryExit);
            // Get the Organization id
            String organizationId = base.GetValueAttributeByXPath(CreateUserPageResource.
                                                                  CreateUser_Page_GetOrgID);

            string[] getSplittedOrgID = organizationId.Split(Convert.ToChar
                                                                 (CreateUserPageResource.CreateUser_Page_OrganizationId_Split_Character));
            string getRumbaOrganizationID = getSplittedOrgID[1].Substring(0, 32).Trim();
            // Store for school level organization
            Organization organization = Organization.Get(organizationLevelEnum, organizationTypeEnum);

            organization.RumbaOrgId = getRumbaOrganizationID;
            Logger.LogMethodExit("CreateUserPage", "GetAndStoreOrganizationID",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
Пример #19
0
        /// <summary>
        /// Enter Organization Name.
        /// </summary>
        /// <param name="organizationLevelEnum">This is organization name.</param>
        /// <param name="organizationTypeEnum">This is organization type enum.</param>
        private void EnterOrganizationName(
            Organization.OrganizationLevelEnum organizationLevelEnum,
            Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Enter Organization Name
            Logger.LogMethodEntry("CreateUserPage", "EnterOrganizationName",
                                  base.IsTakeScreenShotDuringEntryExit);
            base.WaitForElement(By.Id(CreateUserPageResource.
                                      CreateUser_Page_EnterOrganizationName_Id_Locator));
            // Fetch the organization name from the memory data base
            Organization organization = Organization.Get(
                organizationLevelEnum, organizationTypeEnum);

            base.GetWebElementPropertiesById(CreateUserPageResource.
                                             CreateUser_Page_EnterOrganizationName_Id_Locator).Clear();
            //Enter Organization Name
            base.GetWebElementPropertiesById(CreateUserPageResource.
                                             CreateUser_Page_EnterOrganizationName_Id_Locator).SendKeys(organization.Name);
            base.WaitForElement(By.ClassName(CreateUserPageResource.
                                             CreateUser_Page_OrganizationName_ClassName_Locator));
            Logger.LogMethodExit("CreateUserPage", "EnterOrganizationName",
                                 base.IsTakeScreenShotDuringEntryExit);
        }
Пример #20
0
        public void SelectOrganization(
            Organization.OrganizationLevelEnum organizationLevelEnum,
            Organization.OrganizationTypeEnum organizationTypeEnum)
        {
            //Search and Select the Organization
            Logger.LogMethodEntry("UserEnrollment", "SearchandSelectOrganization",
                                  IsTakeScreenShotDuringEntryExit);
            //Fetch Organization Name From Memory
            Organization organization = Organization.Get(
                organizationLevelEnum, organizationTypeEnum);

            //Click On Organization Admin Tab
            new AdminToolPage().ClickOnOrganizationAdminTab();
            //Created Class Object
            OrganizationManagementPage organizationManagementPage =
                new OrganizationManagementPage();

            //Search the Organization
            organizationManagementPage.SearchOrganization(organization.Name);
            //Click on Organization Button
            organizationManagementPage.SelectOrganization(organizationLevelEnum);
            Logger.LogMethodExit("UserEnrollment", "SearchandSelectOrganization",
                                 IsTakeScreenShotDuringEntryExit);
        }
        /// <summary>
        /// Create Organization Based On Level of Organization.
        /// </summary>
        /// <param name="organizationLevelEnum">This is organization Level Enum.</param>
        /// <param name="organizationTypeEnum">This is organization type enum.</param>
        /// <param name="organizationCreationCondition">This is Organization Creation Condition.</param>
        public void CreateOrganizationInProductBasedOnLevel(
            Organization.OrganizationLevelEnum
            organizationLevelEnum,
            Organization.OrganizationTypeEnum organizationTypeEnum,
            string organizationCreationCondition)
        {
            //Create Organization Based On Level of Organization
            Logger.LogMethodEntry("CreateOrganizationPage",
                                  "CreateOrganizationInProductBasedOnLevel",
                                  base.IsTakeScreenShotDuringEntryExit);
            //Guid for Organization Name
            Guid organizationNameGuid = Guid.NewGuid();

            try
            {
                if (organizationCreationCondition == CreateOrganizationPageResource.
                    CreateOrganization_Page_Organization_Creation_Condition_Text)
                {
                    switch (organizationLevelEnum)
                    {   //Create State Level Organization
                    case Organization.OrganizationLevelEnum.State:
                        //Created OrganizationPage Object
                        CreateOrganizationPage createOrganizationPage
                            = new CreateOrganizationPage();
                        //Select Organization Window
                        createOrganizationPage.SelectCreateOrganizationWindow();
                        //Create New Organization
                        createOrganizationPage.CreateNewOrganizationForDifferentLevels
                            (organizationLevelEnum, organizationTypeEnum);
                        break;

                    //Create District and Region Level Organization
                    case Organization.OrganizationLevelEnum.District:
                    case Organization.OrganizationLevelEnum.Region:
                        //Select District Level Organization and Create Region Level Organization
                        this.SelectAndCreateOrganization(organizationLevelEnum, organizationTypeEnum);
                        break;

                    //Create School Level Organization
                    case Organization.OrganizationLevelEnum.School:
                        try
                        {
                            //Select Region Level Organization and Create School level Organization
                            this.SelectAndCreateOrganization(organizationLevelEnum, organizationTypeEnum);
                        }
                        catch
                        {
                            //Click on New Organization Link
                            new OrganizationManagementPage().ClickOnTheCreateNewOrganizationLink();
                            //Create School Level Orgnization
                            this.CreateSchoolLevelOrganization(organizationLevelEnum, organizationTypeEnum);
                        }
                        this.SelectOrganizationManagementWindow();
                        break;

                    //Create School Level Organization
                    case Organization.OrganizationLevelEnum.PowerSchool:
                        //Click on New Organization Link
                        new OrganizationManagementPage().ClickOnTheCreateNewOrganizationLink();
                        //Create School Level Orgnization
                        this.CreateSchoolLevelOrganization(organizationLevelEnum, organizationTypeEnum);
                        //Select Organization Management Window
                        this.SelectOrganizationManagementWindow();
                        break;
                    }
                }
                else
                {
                    switch (organizationLevelEnum)
                    {
                    case Organization.OrganizationLevelEnum.School:
                        this.CreateSchoolLevelOrganization(
                            organizationLevelEnum, organizationTypeEnum, organizationNameGuid);
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                ExceptionHandler.HandleException(e);
            }
            Logger.LogMethodExit("CreateOrganizationPage",
                                 "CreateOrganizationInProductBasedOnLevel",
                                 base.IsTakeScreenShotDuringEntryExit);
        }