public void buildFeeTargetReport()
        {
            Root = new RootElement ("Practice Fee Target Progress");
            Stripper.SetReportHeader (Root, "Practice Fee Target Progress", null, contentWidth);

            PracticeTotals totals = this.report.practiceTotals;

            var totSection = new Section ("");
            var tot1 = new BigFinanceElement ("Invoiced MTD Total:  ", totals.invoicedMTDTotal);

            totSection.Add (tot1);
            Root.Add (totSection);
            //Fee Target Progress: The Invoiced Debits MTD field display the invoiced YTD value
            if (totals.recordedMTD != null) {

                var mtdSection = new Section ("Recorded MTD");
                mtdSection.Add (getElement (totals.recordedMTD.achieved, "Achieved: "));
                mtdSection.Add (getElement (totals.recordedMTD.estimatedTarget, "Estimated Target: "));
                mtdSection.Add (getElement (totals.recordedMTD.invoicedDebits, "Invoiced: "));
                mtdSection.Add (getElement (totals.recordedMTD.unbilled, "Unbilled: "));
                mtdSection.Add (getElement (totals.recordedMTD.total, "Total: "));
                Root.Add (mtdSection);
            }
            if (totals.recordedYTD != null) {

                var mtdSection = new Section ("Recorded YTD");
                mtdSection.Add (getElement (totals.recordedYTD.achieved, "Achieved: "));
                mtdSection.Add (getElement (totals.recordedYTD.estimatedTarget, "Estimated Target: "));
                mtdSection.Add (getElement (totals.recordedYTD.invoiced, "Invoiced: "));
                mtdSection.Add (getElement (totals.recordedYTD.unbilled, "Unbilled: "));
                mtdSection.Add (getElement (totals.recordedYTD.total, "Total: "));
                Root.Add (mtdSection);
            }
            if (totals.matterActivity != null) {
                var matterActivitySection = new Section ("Matter Activity");
                var tot2 = new NumberElement (totals.matterActivity.active, "Active Matters: ");
                matterActivitySection.Add (tot2);
                var tot3 = new NumberElement (totals.matterActivity.deactivated, "Deactivated Matters: ");
                matterActivitySection.Add (tot3);
                var tot4 = new NumberElement (totals.matterActivity.newWork, "New Work: ");
                matterActivitySection.Add (tot4);
                var tot5 = new NumberElement (totals.matterActivity.noActivity, "No Activity: ");
                matterActivitySection.Add (tot5);
                var tot6 = new StringElement ("No Activity Duration:   " + totals.matterActivity.noActivityDuration);
                matterActivitySection.Add (tot6);
                Root.Add (matterActivitySection);
            }
            //
            if (totals.matterBalances != null) {
                var matterBalancesSection = new Section ("Matter Balances");
                matterBalancesSection.Add (getElement (totals.matterBalances.business, "Business: "));
                matterBalancesSection.Add (getElement (totals.matterBalances.unbilled, "Unbilled: "));
                matterBalancesSection.Add (getElement (totals.matterBalances.trust, "Trust Balance: "));
                matterBalancesSection.Add (getElement (totals.matterBalances.investment, "Investments: "));
                Root.Add (matterBalancesSection);
            }
        }
        public void buildReport()
        {
            Root = new RootElement ("");
            var v = new UIView ();
            v.Frame = new RectangleF (10, 10, 600, 10);
            var dummy = new Section (v);
            Root.Add (dummy);
            var headerLabel = new UILabel (new RectangleF (10, 10, 800, 48)) {
                Font = UIFont.BoldSystemFontOfSize (18),
                BackgroundColor = ColorHelper.GetGPPurple (),
                TextAlignment = UITextAlignment.Center,
                TextColor = UIColor.White,
                Text = "Branch Fee Target Progress"
            };
            var view = new UIViewBordered ();
            view.Frame = new RectangleF (10, 20, 800, 48);
            view.Add (headerLabel);
            Root.Add (new Section (view));

            for (int i = 0; i < report.branches.Count; i++) {
                Branch branch = report.branches [i];

                Section s = new Section (branch.name);

                var t2 = new BigFinanceElement ("Invoiced MTD Total:  ", branch.branchTotals.InvoicedMTDTotal);
                s.Add (t2);
                //
                Section s2 = new Section (branch.name + " Recorded MTD");
                s2.Add (getElement (branch.branchTotals.recordedMTD.achieved, "Achieved:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.estimatedTarget, "Estimated Target:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.invoicedDebits, "Invoiced Debits:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.unbilled, "Unbilled:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.total, "Total:  "));
                //
                Section s21 = new Section (branch.name + " Recorded YTD");
                s21.Add (getElement (branch.branchTotals.recordedYTD.achieved, "Achieved:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.estimatedTarget, "Estimated Target:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.invoiced, "Invoiced:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.unbilled, "Unbilled:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.total, "Total:  "));

                Root.Add (s);
                Root.Add (s2);
                Root.Add (s21);

            }
            for (var i = 0; i < 10; i++) {
                Root.Add (new Section (" "));
            }
        }
        public void buildReport()
        {
            Root = new RootElement ("Branch Fee Target Progress");
            Stripper.SetReportHeader (Root, "Branch Fee Target Progress", null, contentWidth);

            for (int i = 0; i < report.branches.Count; i++) {
                Branch branch = report.branches [i];

                Section s = new Section ();
                var nm = new TitleElement (branch.name);
                s.Add (nm);

                var t2 = new BigFinanceElement ("Invoiced MTD Total:  ", branch.branchTotals.InvoicedMTDTotal);
                s.Add (t2);
                //
                Section s2 = new Section (branch.name + " Recorded MTD");
                s2.Add (getElement (branch.branchTotals.recordedMTD.achieved, "Achieved:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.estimatedTarget, "Estimated Target:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.invoicedDebits, "Invoiced Debits:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.unbilled, "Unbilled:  "));
                s2.Add (getElement (branch.branchTotals.recordedMTD.total, "Total:  "));
                //
                Section s21 = new Section (branch.name + " Recorded YTD");
                s21.Add (getElement (branch.branchTotals.recordedYTD.achieved, "Achieved:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.estimatedTarget, "Estimated Target:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.invoiced, "Invoiced:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.unbilled, "Unbilled:  "));
                s21.Add (getElement (branch.branchTotals.recordedYTD.total, "Total:  "));

                Root.Add (s);
                Root.Add (s2);
                Root.Add (s21);

            }
            for (var i = 0; i < 10; i++) {
                Root.Add (new Section (" "));
            }
        }
        public void buildFeeTargetReport()
        {
            //NumberFormatInfo nfi = new CultureInfo ("en-US", false).NumberFormat;
            Root = new RootElement ("Fee Target Progress");
            var v = new UIView ();
            v.Frame = new RectangleF (10, 10, 600, 10);
            var dummy = new Section (v);
            Root.Add (dummy);
            var headerLabel = new UILabel (new RectangleF (10, 10, 800, 48)) {
                Font = UIFont.BoldSystemFontOfSize (18),
                BackgroundColor = ColorHelper.GetGPPurple (),
                TextAlignment = UITextAlignment.Center,
                TextColor = UIColor.White,
                Text = "Practice Fee Target Progress"
            };
            var view = new UIViewBordered ();
            view.Frame = new RectangleF (10, 20, 800, 48);
            view.Add (headerLabel);
            Root.Add (new Section (view));

            PracticeTotals totals = this.report.practiceTotals;

            var ptLabel = new UILabel (new RectangleF (10, 10, 800, 24)) {
                Font = UIFont.BoldSystemFontOfSize (24),
                TextAlignment = UITextAlignment.Center,
                TextColor = ColorHelper.GetGPPurple (),
                Text = "Practice Totals"
            };

            var totSection = new Section ("Practice Totals");
            var tot1 = new BigFinanceElement ("Invoiced MTD Total:  ", totals.invoicedMTDTotal);

            totSection.Add (tot1);
            Root.Add (totSection);

            if (totals.recordedMTD != null) {

                var mtdSection = new Section ("Recorded MTD");
                mtdSection.Add (getElement (totals.recordedMTD.achieved, "Achieved: "));
                mtdSection.Add (getElement (totals.recordedMTD.estimatedTarget, "Estimated Target: "));
                mtdSection.Add (getElement (totals.recordedMTD.invoicedDebits, "Invoiced Debits: "));
                mtdSection.Add (getElement (totals.recordedMTD.unbilled, "Unbilled: "));
                mtdSection.Add (getElement (totals.recordedMTD.total, "Total: "));
                Root.Add (mtdSection);
            }
            if (totals.recordedYTD != null) {

                var mtdSection = new Section ("Recorded YTD");
                mtdSection.Add (getElement (totals.recordedYTD.achieved, "Achieved: "));
                mtdSection.Add (getElement (totals.recordedYTD.estimatedTarget, "Estimated Target: "));
                mtdSection.Add (getElement (totals.recordedYTD.invoiced, "Invoiced: "));
                mtdSection.Add (getElement (totals.recordedYTD.unbilled, "Unbilled: "));
                mtdSection.Add (getElement (totals.recordedYTD.total, "Total: "));
                Root.Add (mtdSection);
            }
            if (totals.matterActivity != null) {
                var matterActivitySection = new Section ("Matter Activity");
                var tot2 = new NumberElement (totals.matterActivity.active, "Active Matters: ");
                matterActivitySection.Add (tot2);
                var tot3 = new NumberElement (totals.matterActivity.deactivated, "Deactivated Matters: ");
                matterActivitySection.Add (tot3);
                var tot4 = new NumberElement (totals.matterActivity.newWork, "New Work: ");
                matterActivitySection.Add (tot4);
                var tot5 = new NumberElement (totals.matterActivity.noActivity, "No Activity: ");
                matterActivitySection.Add (tot5);
                var tot6 = new StringElement ("No Activity Duration:   " + totals.matterActivity.noActivityDuration);
                matterActivitySection.Add (tot6);
                Root.Add (matterActivitySection);
            }
            //
            if (totals.matterBalances != null) {
                var matterBalancesSection = new Section ("Matter Balances");
                matterBalancesSection.Add (getElement (totals.matterBalances.business, "Business: "));
                matterBalancesSection.Add (getElement (totals.matterBalances.unbilled, "Unbilled: "));
                matterBalancesSection.Add (getElement (totals.matterBalances.trust, "Trust Balance: "));
                matterBalancesSection.Add (getElement (totals.matterBalances.investment, "Investments: "));
                Root.Add (matterBalancesSection);
            }
            for (var i = 0; i < 10; i++) {
                Root.Add (new Section (" "));
            }
        }