Пример #1
0
        private Control GenerateReport(string partyKey)
        {
            _DataManager.GetData(partyKey);
            var data = _DataManager.GetDataSubset();

            StartNewHtmlTable();
            CurrentHtmlTable.RemoveCssClass("tableAdmin");

            if (data.Count == 0)
            {
                new HtmlTableCell
                {
                    InnerHtml = "There are No Email Addresses for this Party."
                }.AddTo(new HtmlTableRow().AddTo(CurrentHtmlTable, "trReportGroupHeading center"),
                        "tdReportGroupHeading");
            }
            else
            {
                CreateHeadingRow();
                foreach (var email in data)
                {
                    ReportEmail(email);
                }
            }

            return(ReportContainer);
        }
        private Control GenerateReport(string partyKey, string stateCode, out int politicianCount)
        {
            _DataManager.GetData(partyKey, stateCode);
            var data = _DataManager.GetDataSubset();

            politicianCount = data.Count;

            StartNewHtmlTable();
            CurrentHtmlTable.AddCssClasses("tableAdmin");

            if (data.Count == 0)
            {
                new HtmlTableCell
                {
                    InnerHtml = "No Elected Party Members"
                }.AddTo(new HtmlTableRow().AddTo(CurrentHtmlTable, "trReportGroupHeading center"),
                        "tdReportGroupHeading");
            }
            else
            {
                CreateHeadingRow();
                foreach (var row in data)
                {
                    FormatPoliticianRow(row);
                }
            }

            return(ReportContainer);
        }
Пример #3
0
        private Control GenerateReport(string issueLevel, string group)
        {
            _DataManager.GetData(issueLevel, group);
            var data = _DataManager.GetDataSubset()
                       .GroupBy(r => r.IssueKey())
                       .ToList();

            StartNewHtmlTable();
            CurrentHtmlTable.AddCssClasses("tableAdmin");

            if (data.Count == 0)
            {
                new HtmlTableCell
                {
                    InnerHtml = "No Data Found"
                }.AddTo(new HtmlTableRow().AddTo(CurrentHtmlTable, "trReportGroupHeading center"),
                        "tdReportGroupHeading");
            }
            else
            {
                CreateHeadingRow();
                foreach (var issueGroup in data)
                {
                    ReportIssue(issueGroup.ToList());
                }
            }

            return(ReportContainer);
        }
Пример #4
0
            protected Control GenerateReport(IEnumerable <DateCount> dateList, string reportHeading,
                                             string columnHeading, int centsPerTransaction)
            {
                StartNewHtmlTable();
                CurrentHtmlTable.AddCssClasses("tableAdmin");
                var tr = new HtmlTableRow().AddTo(CurrentHtmlTable);

                new HtmlTableCell {
                    InnerHtml = reportHeading
                }.AddTo(tr, "H");
                tr = new HtmlTableRow().AddTo(CurrentHtmlTable);
                var reportTd    = new HtmlTableCell().AddTo(tr, "T");
                var reportTable = new HtmlTable().AddTo(reportTd);

                tr = new HtmlTableRow().AddTo(reportTable, "HTMLTr");
                new HtmlTableCell {
                    Align = "center", InnerHtml = "Date"
                }
                .AddTo(tr, "tdReportDetailHeading");
                new HtmlTableCell {
                    Align = "center", InnerHtml = columnHeading
                }
                .AddTo(tr, "tdReportDetailHeading");

                var totalTransactions = 0;

                foreach (var dateCount in dateList)
                {
                    tr = new HtmlTableRow().AddTo(reportTable, "HTMLTr");
                    new HtmlTableCell {
                        InnerText = dateCount.DateStamp.ToString("MM/dd/yyyy")
                    }
                    .AddTo(tr, "tdReportDetail");
                    new HtmlTableCell {
                        InnerText = dateCount.Count.ToString(CultureInfo.InvariantCulture)
                    }
                    .AddTo(tr, "tdReportDetail");
                    totalTransactions += dateCount.Count;
                }

                var total = totalTransactions * centsPerTransaction;

                tr = new HtmlTableRow().AddTo(reportTable, "HTMLTr");
                new HtmlTableCell {
                    InnerText = "Total"
                }
                .AddTo(tr, "tdReportDetail");
                new HtmlTableCell {
                    InnerText =
                        $"{totalTransactions} * .{centsPerTransaction} = {total} cents"
                }
                .AddTo(tr, "tdReportDetail");

                return(ReportContainer);
            }
Пример #5
0
        private Control GenerateReport(string stateCode)
        {
            _DataManager.GetData(stateCode);

            StartNewHtmlTable();
            CurrentHtmlTable.AddCssClasses("counties-report simple-table-report");

            var tr = new HtmlTableRow().AddTo(CurrentHtmlTable, "th");

            new HtmlTableCell {
                InnerHtml = "County Name"
            }.AddTo(tr, "th");
            new HtmlTableCell {
                InnerHtml = "Contact"
            }.AddTo(tr, "th");
            new HtmlTableCell {
                InnerHtml = "Main Email"
            }.AddTo(tr, "th");
            new HtmlTableCell {
                InnerHtml = "Alternate Contact"
            }.AddTo(tr, "th");
            new HtmlTableCell {
                InnerHtml = "Alternate Email"
            }.AddTo(tr, "th");

            var oddEven = "odd";

            foreach (var county in _DataManager.GetDataSubset())
            {
                tr      = new HtmlTableRow().AddTo(CurrentHtmlTable, oddEven);
                oddEven = oddEven == "odd"
          ? "even"
          : "odd";
                new HtmlTableCell {
                    InnerHtml = county.County()
                }.AddTo(tr);
                new HtmlTableCell {
                    InnerHtml = county.Contact()
                }.AddTo(tr);
                MakeEmailLink(county.ContactEmail()).AddTo(new HtmlTableCell().AddTo(tr));
                new HtmlTableCell {
                    InnerHtml = county.AltContact()
                }.AddTo(tr);
                MakeEmailLink(county.AltEmail()).AddTo(new HtmlTableCell().AddTo(tr));
            }

            return(ReportContainer);
        }
Пример #6
0
        private Control GenerateReport(string stateCode)
        {
            ReportUser = ReportUser.Admin;
            _DataManager.GetData(stateCode);
            var data = _DataManager.GetDataSubset();

            StartNewHtmlTable();
            CreateHeadingRow();
            CurrentHtmlTable.RemoveCssClass("tableAdmin");
            foreach (var issue in data)
            {
                ReportIssue(issue);
            }

            return(ReportContainer);
        }
        //private static Control MakeEmailLink(string email)
        //{
        //  if (IsNullOrWhiteSpace(email))
        //    return new HtmlNbsp();
        //  return new HtmlAnchor
        //  {
        //    InnerHtml = email,
        //    HRef = "mailto:" + email
        //  };
        //}

        private Control GenerateReport(string stateCode)
        {
            _DataManager.GetData(stateCode);

            StartNewHtmlTable();
            CurrentHtmlTable.AddCssClasses("local-jurisdictions-report simple-table-report");

            var tr = new HtmlTableRow().AddTo(CurrentHtmlTable, "th");

            new HtmlTableCell {
                InnerText = "County Name"
            }.AddTo(tr, "th");
            new HtmlTableCell {
                InnerText = "Web Address"
            }.AddTo(tr, "th");
            new HtmlTableCell {
                InnerText = "Main Contact and Email"
            }.AddTo(tr, "th");
            new HtmlTableCell {
                InnerText = "Alternate Contact and Email"
            }.AddTo(tr, "th");

            var oddEven           = "odd";
            var emptyWebAddresses = 0;
            var emptyMainContact  = 0;
            var emptyMailEmail    = 0;
            var emptyAltContact   = 0;
            var emptyAltEmail     = 0;
            var total             = 0;

            foreach (var row in _DataManager.GetDataSubset())
            {
                tr      = new HtmlTableRow().AddTo(CurrentHtmlTable, oddEven);
                oddEven = oddEven == "odd"
          ? "even"
          : "odd";
                MakeUpdateJurisdictionsLink(row).AddTo(new HtmlTableCell().AddTo(tr));
                MakeWebAddressLink(row.Url()).AddTo(new HtmlTableCell().AddTo(tr));
                MakeContactEmailLink(row.Contact(), row.ContactEmail()).AddTo(new HtmlTableCell().AddTo(tr));
                MakeContactEmailLink(row.AltContact(), row.AltEmail()).AddTo(new HtmlTableCell().AddTo(tr));

                if (IsNullOrWhiteSpace(row.Url()))
                {
                    emptyWebAddresses++;
                }
                if (IsNullOrWhiteSpace(row.Contact()))
                {
                    emptyMainContact++;
                }
                if (IsNullOrWhiteSpace(row.ContactEmail()))
                {
                    emptyMailEmail++;
                }
                if (IsNullOrWhiteSpace(row.AltContact()))
                {
                    emptyAltContact++;
                }
                if (IsNullOrWhiteSpace(row.AltEmail()))
                {
                    emptyAltEmail++;
                }
                total++;
            }

            tr = new HtmlTableRow().AddTo(CurrentHtmlTable, oddEven);
            new HtmlTableCell {
                InnerHtml = $"<b>TOTAL EMPTY ENTRIES</b> (of {total})"
            }.AddTo(tr);
            new HtmlTableCell {
                InnerText = emptyWebAddresses.ToString()
            }.AddTo(tr);
            new HtmlTableCell {
                InnerText = emptyMainContact + "/" + emptyMailEmail
            }.AddTo(tr);
            new HtmlTableCell {
                InnerText = emptyAltContact + "/" + emptyAltEmail
            }.AddTo(tr);

            return(ReportContainer);
        }
Пример #8
0
            private Control GenerateReport(string userName, DateTime startDate, DateTime endDate)
            {
                _DataManager.GetData(userName, startDate, endDate);
                var data = _DataManager.GetDataSubset()
                           .GroupBy(r => r.DateStamp().Date)
                           .ToList();

                StartNewHtmlTable();
                CurrentHtmlTable.AddCssClasses("tableAdmin");
                var tr = new HtmlTableRow().AddTo(CurrentHtmlTable);

                new HtmlTableCell {
                    InnerHtml = "Logins"
                }.AddTo(tr, "H");
                tr = new HtmlTableRow().AddTo(CurrentHtmlTable);
                var reportTd    = new HtmlTableCell().AddTo(tr, "T");
                var reportTable = new HtmlTable().AddTo(reportTd);

                tr = new HtmlTableRow().AddTo(reportTable, "trReportDetail");
                new HtmlTableCell {
                    Align = "center", InnerHtml = "First Login"
                }
                .AddTo(tr, "tdReportDetailHeading");
                new HtmlTableCell {
                    Align = "center", InnerHtml = "Last Login"
                }
                .AddTo(tr, "tdReportDetailHeading");
                new HtmlTableCell {
                    Align = "center", InnerHtml = "Hours"
                }
                .AddTo(tr, "tdReportDetailHeading");

                var totalDuration = TimeSpan.MinValue;
                var days          = 0;
                var totalHours    = 0;

                foreach (var dateGroup in data)
                {
                    var date       = dateGroup.ToList();
                    var firstLogin = date.First().DateStamp();
                    var lastLogin  = date.Last().DateStamp();
                    var duration   = lastLogin - firstLogin;
                    var hours      = duration.Hours;
                    tr = new HtmlTableRow().AddTo(reportTable, "trReportDetail");
                    new HtmlTableCell {
                        InnerText = firstLogin.ToString(CultureInfo.InvariantCulture)
                    }
                    .AddTo(tr, "tdReportDetail");
                    new HtmlTableCell {
                        InnerText = lastLogin.ToString(CultureInfo.InvariantCulture)
                    }
                    .AddTo(tr, "tdReportDetail");
                    new HtmlTableCell {
                        InnerText = hours.ToString(CultureInfo.InvariantCulture)
                    }
                    .AddTo(tr, "tdReportDetail");
                    totalDuration = totalDuration + duration;
                    days++;
                    totalHours += hours;
                }

                tr = new HtmlTableRow().AddTo(reportTable, "trReportDetail");
                new HtmlTableCell {
                    InnerText = "Total"
                }
                .AddTo(tr, "tdReportDetail");
                new HtmlTableCell {
                    InnerText = $"Days: {days}"
                }
                .AddTo(tr, "tdReportDetail");
                new HtmlTableCell {
                    InnerText = totalHours.ToString(CultureInfo.InvariantCulture)
                }
                .AddTo(tr, "tdReportDetail");

                return(ReportContainer);
            }