Example #1
0
        public void btnConvertToManual_Click(IRibbonControl control)
        {
            var reportDoc          = new OfficeDocument(Globals.ThisAddIn.Application.ActiveDocument);
            var presenterreportDoc = new InsuranceRenewealReportWizardPresenter(reportDoc, null);

            var reportTemplate = new InsuranceRenewalReport();

            reportTemplate = (InsuranceRenewalReport)presenterreportDoc.LoadData(reportTemplate);

            reportTemplate = (InsuranceRenewalReport)presenterreportDoc.LoadIncludedPolicyClasses(reportTemplate);


            ObjectCache cache = MemoryCache.Default;

            cache.Add(Constants.CacheNames.ConvertWizard, reportTemplate, new CacheItemPolicy());

            var manualDoc = reportDoc.OpenFile(Settings.Default.TemplateInsuranceManual);


            var allTables = reportDoc.GetTablesByNamePrefix(string.Empty);

            foreach (var tableName in allTables)
            {
                if (!manualDoc.TableExists(tableName))
                {
                    continue;
                }

                if (tableName.Contains("Policy Wording"))
                {
                    var text = reportDoc.GetTableCellText(tableName, 0, 2);
                    manualDoc.TypeTableCellText(tableName, 0, 2, text);
                }
                else
                {
                    reportDoc.CopyTable(tableName);
                    manualDoc.SelectTable(tableName);
                    manualDoc.DeleteTable(tableName);
                    manualDoc.InsertParagraphBreak();
                    manualDoc.PasteClipboardOriginalFormatting();
                }
            }

            //if (reportDoc.TableExists(Constants.WordTables.PolicyWording) && manualDoc.TableExists(Constants.WordTables.PolicyWording))
            //{
            //    reportDoc.CopyTable(Constants.WordTables.PolicyWording);
            //    manualDoc.DeleteTable(Constants.WordTables.PolicyWording);
            //    manualDoc.PasteClipboard();
            //}
            var allBookmarkedSections = reportDoc.GetBookmarksByPartialName(Constants.WordBookmarks.SummaryOfCoverStart);

            foreach (var bookmark in allBookmarkedSections)
            {
                var id = bookmark.Replace(Constants.WordBookmarks.SummaryOfCoverStart, string.Empty);
                if (reportDoc.HasBookmark(Constants.WordBookmarks.SummaryOfCoverStart + id) &&
                    reportDoc.HasBookmark(Constants.WordBookmarks.SummaryOfCoverEnd + id))
                {
                    var rs = reportDoc.GetBookmarkStartRange(Constants.WordBookmarks.SummaryOfCoverStart + id);
                    var re = reportDoc.GetBookmarkStartRange(Constants.WordBookmarks.SummaryOfCoverEnd + id);
                    reportDoc.CopyRange(rs, re);

                    if (manualDoc.HasBookmark(Constants.WordBookmarks.SummaryOfCoverStart + id))
                    {
                        //var ms = manualDoc.GetBookmarkStartRange(Constants.WordBookmarks.SummaryOfCoverStart + id);
                        manualDoc.MoveCursorToStartOfBookmark(Constants.WordBookmarks.SummaryOfCoverStart + id);
                        manualDoc.PasteClipboard();
                    }
                }
            }


            if (reportDoc.HasBookmark(Constants.WordBookmarks.InsertClientProfile) &&
                reportDoc.HasBookmark(Constants.WordBookmarks.InsertClientProfileEnd))
            {
                var rs = reportDoc.GetBookmarkStartRange(Constants.WordBookmarks.InsertClientProfile);
                var re = reportDoc.GetBookmarkStartRange(Constants.WordBookmarks.InsertClientProfileEnd);
                reportDoc.CopyRange(rs, re);
                if (manualDoc.HasBookmark(Constants.WordBookmarks.InsertClientProfile))
                {
                    var ms = manualDoc.GetBookmarkStartRange(Constants.WordBookmarks.InsertClientProfile);
                    var me = manualDoc.GetBookmarkStartRange(Constants.WordBookmarks.InsertClientProfileEnd);
                    manualDoc.DeleteRange(ms, me);

                    manualDoc.MoveCursorToStartOfBookmark(Constants.WordBookmarks.InsertClientProfile);

                    manualDoc.PasteClipboard();
                }
            }

            manualDoc.MoveToStartOfDocument();

            //var presenterManualDoc = new RibbonWizardPresenter(manualDoc, null);

            //var p = reportDoc.TurnOffProtection(string.Empty);
            //presenterManualDoc.PopulateData(reportTemplate);

            //manualDoc.PopulateControl(Constants.WordContentControls.DocumentTitle, "Insurance Manual");
            //reportDoc.TurnOnProtection(p, string.Empty);

            //var w = new BaseWizardForm();
            //var t = new InsuranceManual();
            //t.DocumentTitle = "Insurance Manual zzzz";
            //w.LogUsage(t, Enums.UsageTrackingType.ConvertDocument);
        }