private void LoadForm()
        {
            //var selectedCoverPage =  _presenter.ReadDocumentProperty(Constants.WordDocumentProperties.CoverPageTitle);
            //selectedCoverPage = (String.IsNullOrEmpty(selectedCoverPage) ? lblCoverPageTitle.Text : selectedCoverPage);

            //var selectedLogo = _presenter.ReadDocumentProperty(Constants.WordDocumentProperties.LogoTitle);
            //selectedLogo = (String.IsNullOrEmpty(selectedLogo) ? lblLogoTitle.Text : selectedLogo);

            TaskScheduler uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();

            base.LoadGenericImageTabs(uiScheduler, tbcWizardScreens, lblCoverPageTitle.Text, lblLogoTitle.Text);

            if (Reload) // this happens if they click the button on the ribbon.
            {
                var    template = new InsuranceManual();
                object values   = _wizardPresenter.LoadData(template);
                var    v        = ((IInsuranceManual)values);

                LoadDataSources(null);
                ReloadFields(v);
                ReloadPolicyClasses(v, false);

                ReloadClientProfile();
            }
            else //new template
            {
                Task.Factory.StartNew(() => LoadDataSources(uiScheduler));
            }
        }
        private IInsuranceManual GenerateTempalteObject()
        {
            var outProfile = false;

            bool.TryParse(BaseWizardPresenter.ReadDocumentProperty(Constants.WordDocumentProperties.ClientProfile),
                          out outProfile);
            //buid the marketing template
            var template = new InsuranceManual
            {
                DocumentTitle = BaseWizardPresenter.ReadDocumentProperty("Title"),
                //Constants.TemplateNames.InsuranceRenewalReport,
                DocumentSubTitle        = string.Empty,
                ClientName              = txtClientName.Text,
                ClientCommonName        = txtClientCommonName.Text,
                PeriodOfInsuranceFrom   = dtpPeriodOfInsuranceFrom.Text,
                PeriodOfInsuranceTo     = dtpPeriodOfInsuranceTo.Text,
                ExecutiveName           = txtExecutiveName.Text,
                ExecutiveEmail          = txtExecutiveEmail.Text,
                ExecutivePhone          = txtExecutivePhone.Text,
                ExecutiveTitle          = txtExecutiveTitle.Text,
                ExecutiveMobile         = txtExecutiveMobile.Text,
                ExecutiveDepartment     = txtExecutiveDepartment.Text,
                AssistantExecutiveName  = txtAssistantExecutiveName.Text,
                AssistantExecutiveTitle = txtAssistantExecutiveTitle.Text,
                AssistantExecutivePhone = txtAssistantExecutivePhone.Text,
                AssistantExecutiveEmail = txtAssistantExecutiveEmail.Text,
                AssistantExecDepartment = txtAssitantExecDepartment.Text,
                ClaimsExecutiveName     = txtClaimsExecutiveName.Text,
                ClaimsExecutiveTitle    = txtClaimsExecutiveTitle.Text,
                ClaimsExecutivePhone    = txtClaimsExecutivePhone.Text,
                ClaimsExecutiveEmail    = txtClaimsExecutiveEmail.Text,
                ClaimsExecDepartment    = txtClaimExecDepartment.Text,
                PopulateClientProfile   = outProfile,
                OtherContactName        = txtOtherContactName.Text,
                OtherContactTitle       = txtOtherContactTitle.Text,
                OtherContactPhone       = txtOtherContactPhone.Text,
                OtherContactEmail       = txtOtherContactEmail.Text,
                OtherExecDepartment     = txtOtherExecDepartment.Text,
                OAMPSBranchAddress      = txtBranchAddress1.Text,
                OAMPSBranchAddressLine2 = txtBranchAddress2.Text,
                DatePrepared            = DateTime.Now.ToString(@"dd/MM/yyyy"),
                SelectedPolicyClasses   = _selectedPolicyClasses
            };


            var baseTemplate = (BaseTemplate)template;
            var logoTab      = tbcWizardScreens.TabPages[Constants.ControlNames.TabPageLogosName];

            PopulateLogosToTemplate(logoTab, ref baseTemplate);

            var covberTab =
                tbcWizardScreens.TabPages[Constants.ControlNames.TabPageCoverPagesName];

            PopulateCoversToTemplate(covberTab, ref baseTemplate);


            template.PopulateClientProfile = _populateClientProfile;

            return(template);
        }
        private void RunConvert()
        {
            TaskScheduler uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();


            //  this.Visible = false;
            if (!Cache.Contains(Constants.CacheNames.ConvertWizard))
            {
                return;
            }

            var template = (InsuranceRenewalReport)Cache.Get(Constants.CacheNames.ConvertWizard);

            Cache.Remove(Constants.CacheNames.ConvertWizard);

            lblLogoTitle.Text      = template.LogoTitle;
            lblCoverPageTitle.Text = template.CoverPageTitle;

            base.LoadGenericImageTabs(uiScheduler, tbcWizardScreens, lblCoverPageTitle.Text, lblLogoTitle.Text);
            var manualTemplate = new InsuranceManual()
            {
                AssistantExecDepartment = template.AssistantExecDepartment,
                AssistantExecutiveEmail = template.AssistantExecutiveEmail,
                AssistantExecutiveName  = template.AssistantExecutiveName,
                AssistantExecutivePhone = template.AssistantExecutivePhone,
                AssistantExecutiveTitle = template.AssistantExecutiveTitle,
                ClaimsExecDepartment    = template.ClaimsExecDepartment,
                ClaimsExecutiveEmail    = template.ClaimsExecutiveEmail,
                ClaimsExecutiveName     = template.ClaimsExecutiveName,
                ClaimsExecutivePhone    = template.ClaimsExecutivePhone,
                ClaimsExecutiveTitle    = template.ClaimsExecutiveTitle,
                ClientCommonName        = template.ClientCommonName,
                ClientName          = template.ClientName,
                CoverPageImageUrl   = template.CoverPageImageUrl,
                CoverPageTitle      = template.CoverPageTitle,
                DatePrepared        = template.DatePrepared,
                DocumentSubTitle    = template.DocumentSubTitle,
                DocumentTitle       = template.DocumentTitle,
                ExecutiveDepartment = template.ExecutiveDepartment,
                ExecutiveEmail      = template.ExecutiveEmail,
                ExecutiveMobile     = template.ExecutiveMobile,
                ExecutiveName       = template.ExecutiveName,
                ExecutivePhone      = template.ExecutivePhone,
                ExecutiveTitle      = template.ExecutiveTitle,
                Fax                     = template.Fax,
                LogoImageUrl            = template.LogoImageUrl,
                LogoTitle               = template.LogoTitle,
                LongBrandingDescription = template.LongBrandingDescription,
                OAMPSAbnNumber          = template.OAMPSAbnNumber,
                OAMPSAfsl               = template.OAMPSAfsl,
                OAMPSBranchAddress      = template.OAMPSBranchAddress,
                OAMPSBranchAddressLine2 = template.OAMPSBranchAddressLine2,
                OAMPSBranchPhone        = template.OAMPSBranchPhone,
                OAMPSCompanyName        = template.OAMPSCompanyName,
                OtherContactEmail       = template.OtherContactEmail,
                OtherContactName        = template.OtherContactName,
                OtherContactPhone       = template.OtherContactPhone,
                OtherContactTitle       = template.OtherContactTitle,
                OtherExecDepartment     = template.OtherExecDepartment,
                PeriodOfInsuranceFrom   = template.PeriodOfInsuranceFrom,
                PeriodOfInsuranceTo     = template.PeriodOfInsuranceTo,
                PopulateClientProfile   = template.PopulateClientProfile,
                SelectedPolicyClasses   = template.SelectedDocumentFragments,
                WebSite                 = template.WebSite
            };


            //  var v = ((IInsuranceRenewalReport)values);

            LoadDataSources(null);
            ReloadFields(manualTemplate);
            ReloadPolicyClasses(manualTemplate, false);
            LoadClaimsProcedures(null);
            ReloadClientProfile();
        }