microting/eform-sdk-dotnet

View on GitHub
eFormCore/Helpers/ReportHelper.cs

Summary

Maintainability
F
5 days
Test Coverage

File ReportHelper.cs has 518 lines of code (exceeds 250 allowed). Consider refactoring.
Open

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
Severity: Major
Found in eFormCore/Helpers/ReportHelper.cs - About 1 day to fix

    Method InsertPicture has 79 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

            public static void InsertPicture(List<string> values, WordprocessingDocument wordDoc,
                Paragraph paragraph = null)
            {
                MainDocumentPart mainPart = wordDoc.MainDocumentPart;
                ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Jpeg);
    Severity: Major
    Found in eFormCore/Helpers/ReportHelper.cs - About 3 hrs to fix

      Method AddImageToBody has 69 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

              private static void AddImageToBody(WordprocessingDocument wordDoc, string relationshipId, Int64Value cx,
                  Int64Value cy, Paragraph paragraph = null)
              {
                  WriteDebugConsoleLogEntry(new LogEntry(2, "ReportHelper", "AddImageToBody called"));
                  // Define the reference of the image.
      Severity: Major
      Found in eFormCore/Helpers/ReportHelper.cs - About 2 hrs to fix

        Method AddSignatureToParagraph has 67 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                private static void AddSignatureToParagraph(WordprocessingDocument wordDoc, string relationshipId,
                    Int64Value cx, Int64Value cy, string tagToReplace)
                {
                    WriteDebugConsoleLogEntry(new LogEntry(2, "ReportHelper", "AddImageToBody called"));
                    // Define the reference of the image.
        Severity: Major
        Found in eFormCore/Helpers/ReportHelper.cs - About 2 hrs to fix

          Method InsertImages has 53 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                  public static void InsertImages(WordprocessingDocument wordDoc,
                      List<KeyValuePair<string, List<string>>> pictures)
                  {
                      string currentHeader = "";
                      List<Paragraph> foundEntriesToClearText = new List<Paragraph>();
          Severity: Major
          Found in eFormCore/Helpers/ReportHelper.cs - About 2 hrs to fix

            Method ValidateWordDocument has 30 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                    public static void ValidateWordDocument(string filepath)
                    {
                        using (WordprocessingDocument wordprocessingDocument =
                               WordprocessingDocument.Open(filepath, true))
                        {
            Severity: Minor
            Found in eFormCore/Helpers/ReportHelper.cs - About 1 hr to fix

              Method InsertSignature has 29 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                      public static void InsertSignature(WordprocessingDocument wordDoc, List<KeyValuePair<string, string>> pictures)
                      {
                          foreach (var keyValuePair in pictures)
                          {
                              WriteDebugConsoleLogEntry(new LogEntry(2, "ReportHelper.InsertSignature",
              Severity: Minor
              Found in eFormCore/Helpers/ReportHelper.cs - About 1 hr to fix

                Method SearchAndReplace has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                        private static string SearchAndReplace(string docText, SortedDictionary<string, string> valuesToReplace)
                        {
                            foreach (var fieldValue in valuesToReplace.Reverse())
                            {
                                WriteDebugConsoleLogEntry(new LogEntry(2, "ReportHelper.SearchAndReplace",
                Severity: Minor
                Found in eFormCore/Helpers/ReportHelper.cs - About 1 hr to fix

                  Method InsertHeader has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          public static void InsertHeader(string header, WordprocessingDocument wordDoc, string currentHeader)
                          {
                              WriteDebugConsoleLogEntry(new LogEntry(2, "ReportHelper", "InsertHeader called"));
                              // If currentHeader is not equal to new header, insert new header.
                              try
                  Severity: Minor
                  Found in eFormCore/Helpers/ReportHelper.cs - About 1 hr to fix

                    Method AddImageToBody has 5 arguments (exceeds 4 allowed). Consider refactoring.
                    Open

                            private static void AddImageToBody(WordprocessingDocument wordDoc, string relationshipId, Int64Value cx,
                                Int64Value cy, Paragraph paragraph = null)
                    Severity: Minor
                    Found in eFormCore/Helpers/ReportHelper.cs - About 35 mins to fix

                      Method AddSignatureToParagraph has 5 arguments (exceeds 4 allowed). Consider refactoring.
                      Open

                              private static void AddSignatureToParagraph(WordprocessingDocument wordDoc, string relationshipId,
                                  Int64Value cx, Int64Value cy, string tagToReplace)
                      Severity: Minor
                      Found in eFormCore/Helpers/ReportHelper.cs - About 35 mins to fix

                        Identical blocks of code found in 2 locations. Consider refactoring.
                        Open

                                    var element =
                                        new Drawing(
                                            new DW.Inline(
                                                new DW.Extent { Cx = cx, Cy = cy },
                                                new DW.EffectExtent
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 1 other location - About 6 hrs to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 448..504

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 389.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Identical blocks of code found in 2 locations. Consider refactoring.
                        Open

                                    var element =
                                        new Drawing(
                                            new DW.Inline(
                                                new DW.Extent { Cx = cx, Cy = cy },
                                                new DW.EffectExtent
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 1 other location - About 6 hrs to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 524..580

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 389.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                private static void SearchAndReplaceFooters(WordprocessingDocument wordDoc,
                                    SortedDictionary<string, string> valuesToReplace)
                                {
                                    WriteDebugConsoleLogEntry(new LogEntry(2, "ReportHelper", "SearchAndReplaceFooters called"));
                                    foreach (FooterPart footerPart in wordDoc.MainDocumentPart.FooterParts)
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 1 other location - About 2 hrs to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 54..76

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 188.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                private static void SearchAndReplaceHeaders(WordprocessingDocument wordDoc,
                                    SortedDictionary<string, string> valuesToReplace)
                                {
                                    WriteDebugConsoleLogEntry(new LogEntry(2, "ReportHelper", "SearchAndReplaceHeaders called"));
                                    foreach (HeaderPart headerPart in wordDoc.MainDocumentPart.HeaderParts)
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 1 other location - About 2 hrs to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 99..121

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 188.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                            paragraph.Append(new Hyperlink(
                                                    new Run(
                                                        new RunProperties(
                                                            new RunStyle { Val = "InternetLink" },
                                                            new RunFonts { Ascii = "Arial", HighAnsi = "Arial" },
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 1 other location - About 1 hr to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 361..377

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 125.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                            wordDoc.MainDocumentPart.Document.Body.InsertBefore(new Paragraph(
                                                    new Hyperlink(
                                                            new Run(
                                                                new RunProperties(
                                                                    new RunStyle { Val = "InternetLink" },
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 1 other location - About 1 hr to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 384..399

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 125.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 4 locations. Consider refactoring.
                        Open

                                private static void WriteErrorConsoleLogEntry(LogEntry logEntry)
                                {
                                    var oldColor = Console.ForegroundColor;
                                    Console.ForegroundColor = ConsoleColor.Red;
                                    Console.WriteLine($"[ERR] {logEntry.Type}: {logEntry.Message}");
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 3 other locations - About 40 mins to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 591..597
                        eFormCore/Infrastructure/SqlController.cs on lines 5710..5716
                        eFormCore/Infrastructure/SqlController.cs on lines 5718..5724

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 72.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 4 locations. Consider refactoring.
                        Open

                                private static void WriteDebugConsoleLogEntry(LogEntry logEntry)
                                {
                                    var oldColor = Console.ForegroundColor;
                                    Console.ForegroundColor = ConsoleColor.Gray;
                                    Console.WriteLine($"[DBG] {logEntry.Type}: {logEntry.Message}");
                        Severity: Major
                        Found in eFormCore/Helpers/ReportHelper.cs and 3 other locations - About 40 mins to fix
                        eFormCore/Helpers/ReportHelper.cs on lines 599..605
                        eFormCore/Infrastructure/SqlController.cs on lines 5710..5716
                        eFormCore/Infrastructure/SqlController.cs on lines 5718..5724

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 72.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        There are no issues that match your filters.

                        Category
                        Status