bykovme/nswallet

View on GitHub

Showing 488 of 488 total issues

Class MainScreenViewModel has 43 methods (exceeds 20 allowed). Consider refactoring.
Open

    public class MainScreenViewModel : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;


Severity: Minor
Found in src/NSWallet/NSWallet/ViewModel/MainScreen/MainScreenViewModel.cs - About 5 hrs to fix

    Class NSWalletDB has 41 methods (exceeds 20 allowed). Consider refactoring.
    Open

        public partial class NSWalletDB
        { 
            SQLiteConnection conn;
            string DBFile;
    
    
    Severity: Minor
    Found in src/NSWallet/NSWallet.Shared/Database/NSWalletDB.cs - About 5 hrs to fix

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

              public void GenerateTXT()
              {
                  CleanCache();
      
                  // Get NSWItems
      Severity: Major
      Found in src/NSWallet/Droid/Interfaces/ExportService.cs and 1 other location - About 5 hrs to fix
      src/NSWallet/NSWallet.Mac/Interfaces/ExportService.cs on lines 90..125

      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 356.

      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

              public void GenerateTXT()
              {
                  CleanCache();
      
                  // Get NSWItems
      Severity: Major
      Found in src/NSWallet/NSWallet.Mac/Interfaces/ExportService.cs and 1 other location - About 5 hrs to fix
      src/NSWallet/Droid/Interfaces/ExportService.cs on lines 89..124

      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 356.

      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 3 locations. Consider refactoring.
      Open

              static void EnumerateItems(string id, bool recursive = false)
              {
                  try {
                      foreach (var item in BL.GetListByParentID(id, true)) {
                          if (!recursive)
      Severity: Major
      Found in src/NSWallet/Droid/Interfaces/ExportService.cs and 2 other locations - About 5 hrs to fix
      src/NSWallet/NSWallet.Mac/Interfaces/ExportService.cs on lines 37..88
      src/NSWallet/iOS/Interfaces/ExportService.cs on lines 46..96

      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 352.

      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 3 locations. Consider refactoring.
      Open

              static void EnumerateItems(string id, bool recursive = false)
              {
                  try {
                      foreach (var item in BL.GetListByParentID(id, true)) {
                          if (!recursive)
      Severity: Major
      Found in src/NSWallet/NSWallet.Mac/Interfaces/ExportService.cs and 2 other locations - About 5 hrs to fix
      src/NSWallet/Droid/Interfaces/ExportService.cs on lines 36..87
      src/NSWallet/iOS/Interfaces/ExportService.cs on lines 46..96

      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 352.

      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 3 locations. Consider refactoring.
      Open

              static void EnumerateItems(string id, bool recursive = false)
              {
                  try {
                      foreach (var item in BL.GetListByParentID(id, true)) {
                          if (!recursive)
      Severity: Major
      Found in src/NSWallet/iOS/Interfaces/ExportService.cs and 2 other locations - About 5 hrs to fix
      src/NSWallet/Droid/Interfaces/ExportService.cs on lines 36..87
      src/NSWallet/NSWallet.Mac/Interfaces/ExportService.cs on lines 37..88

      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 352.

      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

      Class BL has 40 methods (exceeds 20 allowed). Consider refactoring.
      Open

          public static partial class BL
          {
              static string lang;
              static string lastCurrentID;
              public static string CurrentFieldID { get; private set; }
      Severity: Minor
      Found in src/NSWallet/NSWallet.Shared/Business/BusinessLayer.cs - About 5 hrs to fix

        File FlowListViewInternalCell.cs has 386 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        using System;
        using Xamarin.Forms;
        using System.Collections.Generic;
        using System.Collections;
        using System.Threading.Tasks;

          File FlowListView.cs has 383 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          using System;
          using Xamarin.Forms;
          using System.Collections;
          using System.Collections.Generic;
          using System.Collections.ObjectModel;
          Severity: Minor
          Found in src/NSWallet/NSWallet/Controls/FlowListView/FlowListView.cs - About 5 hrs to fix

            File BusinessLayer.cs has 381 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            using System;
            using System.Collections.Generic;
            using System.Linq;
            using System.Threading.Tasks;
            using NSWallet.Shared.Helpers.Logs.AppLog;
            Severity: Minor
            Found in src/NSWallet/NSWallet.Shared/Business/BusinessLayer.cs - About 5 hrs to fix

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

                          try {
                              using (MemoryStream ms = new MemoryStream()) {
                                  using (AesManaged myAes = new AesManaged()) {
                                      myAes.Mode = CipherMode.CBC;
                                      myAes.Padding = PaddingMode.PKCS7;
              src/NSWallet/NSWallet.Shared/Security/SecurityStandard.cs on lines 82..125

              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 325.

              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

                          try
                          {
                              using (MemoryStream ms = new MemoryStream())
                              {
                                  using (AesManaged myAes = new AesManaged())
              Severity: Major
              Found in src/NSWallet/NSWallet.Shared/Security/SecurityStandard.cs and 1 other location - About 4 hrs to fix
              src/NSWallet/NSWallet.Shared/Security/SecurityiOSWorkAround.cs on lines 19..55

              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 325.

              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

              Class PlatformSpecific has 36 methods (exceeds 20 allowed). Consider refactoring.
              Open

                  public static class PlatformSpecific
                  {
                      public static void SetStatusBarColor(Color color) {
                          DependencyService.Get<IThemeNative>().SetColors(color);
                      }
              Severity: Minor
              Found in src/NSWallet/NSWallet/Helpers/PlatformSpecific.cs - About 4 hrs to fix

                Class DataAccessLayer has 35 methods (exceeds 20 allowed). Consider refactoring.
                Open

                    public partial class DataAccessLayer
                    {
                        // Static members, everything needed for singleton initialization
                        static string DBFile;
                        static DataAccessLayer DAL;
                Severity: Minor
                Found in src/NSWallet/NSWallet.Shared/DataAccess/DataAccessLayer.cs - About 4 hrs to fix

                  File NSWFormsItemModel.cs has 347 lines of code (exceeds 250 allowed). Consider refactoring.
                  Open

                  using System;
                  using System.Collections.Generic;
                  using Xamarin.Forms;
                  using NSWallet.Shared;
                  using System.IO;
                  Severity: Minor
                  Found in src/NSWallet/NSWallet/Model/NSWFormsItemModel.cs - About 4 hrs to fix

                    Method GeneratePDF has 107 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                            public void GeneratePDF()
                            {
                                CleanCache();
                    
                                // Get NSWItems
                    Severity: Major
                    Found in src/NSWallet/Droid/Interfaces/ExportService.cs - About 4 hrs to fix

                      Class ManageFieldViewModel has 33 methods (exceeds 20 allowed). Consider refactoring.
                      Open

                          public class ManageFieldViewModel : ViewModel
                          {
                              // Callbacks
                              public Action ClosePopupCommandCallback { get; set; }
                              public Action ShowPopupCommandCallback { get; set; }

                        Method AddViewToLayoutAutoHeightDisabled has a Cognitive Complexity of 43 (exceeds 20 allowed). Consider refactoring.
                        Open

                                void AddViewToLayoutAutoHeightDisabled(View view, int containerCount, int colNumber)
                                {
                                    double desiredColumnWidth = 1d / _desiredColumnCount;
                                    Rectangle bounds = Rectangle.Zero;
                        
                        

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Method AddViewToLayoutAutoHeightDisabled has 101 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                                void AddViewToLayoutAutoHeightDisabled(View view, int containerCount, int colNumber)
                                {
                                    double desiredColumnWidth = 1d / _desiredColumnCount;
                                    Rectangle bounds = Rectangle.Zero;
                        
                        
                          Severity
                          Category
                          Status
                          Source
                          Language