AutoCount Accounting 2.1 API

From AutoCount Resource Center

Introduction to AutoCount Accounting 2.1.5-2.1.8

AutoCount Accounting 2.1.5.x is the continuous update to previous version of 2.0.

There are some rearrangement of the namespace to better separation of UI and logic which it has been done for the GL, AR and AP. For instance, when programming for the GL, AR and AP without UI, programmer only need to download autocount.dll and autocount.accounting.dll without having to download the entire assemblies.

AutoCount Accounting 2.1 assemblies can be downloaded from the nuget. So that, programmer can download and manage the assemblies of different versions.

Furthermore, AutoCount Accounting 2.1 script template is published at Extensions for Visual Studio, where programmer can find the extensions in Visual Studio 2019 and 2022.

Major changed in 2.1.8

AutoCount Accounting 2.1.8 is the extended version of 2.1.5, the significant changed of 2.1.8 is DevExpress.
DevExpress is upgraded from 19.2.10 to 22.2.7.

Plug-in that is built for 2.1.8 requires to include SetDevExpressComponentVersionRequired("22.2.7") at the constructor of the plug-in initiate.

Compatibility

AutoCount View Accounting 2.1 Release Note

Common Components versions

  1. Net Framework 4.8
    Please use only .Net Framework 4.8.
  2. DevExpress WinForms 22.2.7
  3. Newtonsoft Json.NET 13.0.1

Setup AutoCount Accounting 2.1 Requirements

  1. Net Framework 4.8
  2. SQL Server 2012 SP3 or higher
  3. AutoCount Server 2.1.0.7 or higher
  4. AutoCount Accounting 2.1.8.23 Setup or higher

Common Components versions

  • Net Framework 4.8
    Please use only .Net Framework 4.8.
  • DevExpress WinForms 19.2.10
  • Newtonsoft Json.NET 13.0.1
  • Setup AutoCount Accounting 2.1 Requirements

    1. Net Framework 4.8
    2. SQL Server 2012 SP3 or higher
    3. AutoCount Server 2.1.0.6 or higher
    4. AutoCount Accounting 2.1.5.16 Setup or higher



    Assemblies Filename Changed (Updated: 6/1/2023)

    AutoCount Accounting 1.9, 2.0 AutoCount Accounting 2.1 Namespace is changed ? Namespace
    AutoCount.Invoicing.Sales.dll AutoCount.Sales.dll No AutoCount.Invoicing.Sales
    AutoCount.Invoicing.Purchase.dll AutoCount.Purchase.dll No AutoCount.Invoicing.Purchase

    The word "Invoicing" is removed from the filename of Sales and Purchase, but the namespace remains the same.
    Although the project reference of 2.0 sales & purchase assemblies need to be removed, then add the 2.1 sales & purchase assemblies, the coding doesn't require to be changed.

    Make sure all AutoCount Accounting 2.0 assemblies are removed from reference before adding 2.1 assemblies.


    Namespace Changed (Updated: 16/8/2023)

    2.1.5 to 2.1.8 API Changed

    2.1.5 2.1.8
    AutoCount.LicenseControl.ModuleControl.GetOrCreate(myUsrSession.DBSetting)
    .ModuleController.SystemCurrency;
    AutoCount.LicenseControl.ModuleControl.GetOrCreate(myUsrSession.DBSetting)
    .ModuleController.Country;

    2.0 to 2.1 API Changed

    AutoCount Accounting 2.0 AutoCount Accounting 2.1
    Assembly Namespace class Assembly Namespace class
    AutoCount.Accounting.dll AutoCount.Data.Linq AutoCount.Accounting.dll AutoCount.Data.EntityFramework
    AutoCount.Data.Sql
    Bonus Point
    AutoCount.GeneralMaint.dll AutoCount.GeneralMaint.MemberMaintenance MemberCommand AutoCount.Invoicing.dll AutoCount.BonusPoint.Member MemberCommand
    MemberEntity MemberEntity
    AutoCount.GeneralMaint.MemberTypeMaintenance MemberTypeCommand MemberTypeCommand
    MemberTypeEntity MemberTypeEntity
    AutoCount.GeneralMaint.RaceMaintenance RaceCommand AutoCount.BonusPoint.Race RaceCommand
    RaceEntity RaceEntity

    GST Tax Code and Tax Rate (updated: 20/12/2022)

    • AutoCount Accounting 2.1 API auto updates the tax rate in Sales and Purchase documents according to the document date.
      When initiate the object of GSTHelper in a standalone or service, the application must have had called the SubProjectStartup at the beginning of the application.
      If SubProjectStartup isn't called, obtain the TaxRate will fail.
      Plug-in development does not require to call the SubProjectStartup, because it has been called by the host application.
    • Secondly, make sure the manually added TaxCode is linked or assigned with Government Tax Code.
      Prior to version 2.1, "GovernmentTaxCode" was known as "IRASTaxCode".


    3 MainEntry to start a subProject

    Calling the SubProjectStartup is to load the plug-in and also to activate the license. In 2.1, there are 3 classes the programmer can call the SubProjectStartup with different assembly and usage. You may find the document at Initiate UserSession and DBSetting.

    MainEntry in AutoCount.Accounting.dll

    MainEntry.Startup
    This MainEntry is commonly used for integration, or when no user login is required to access and initiate AutoCount Accounting, and it does not load UI components.

    AutoCount.MainEntry.Startup startup = new AutoCount.MainEntry.Startup();
    AutoCount.Data.DBSetting dbSetting = new DBSetting(DBServerType.SQL2000, serverName, "sa", saPassword, dbName);
    AutoCount.Authentication.UserSession userSession = new UserSession(dbSetting);
                
    if (userSession.Login(userName, userPassword))
    {
        startup.SubProjectStartup(userSession, AutoCount.MainEntry.StartupPlugInOption.LoadStandardPlugIn);
    }
    

    MainEntry in AutoCount.MainEntry.dll

    MainEntry.MainStartup
    This MainEntry opens the AutoCount Accounting user login form, with successful login, it returns the object of UserSession.
    If user clicked [Cancel], the object of UserSession is null.

    AutoCount.Authentication.UserSession userSession = AutoCount.MainEntry.MainStartup.Default.SubProjectStartupWithLogin("", "");
    if (userSession != null)
    {
        //do something
        //Example
        AutoCount.Data.DBSetting dbSetting = userSession.DBSetting;
        bool isLogin = userSession.IsLogin;
        string userId = userSession.LoginUserID;
    }
    

    MainEntry in AutoCount.Accounting.UI.dll

    MainEntry.UIStartup
    This MainEntry.UIStartup is similar to the MainEntry.Startup, except that it loads UI components.

    AutoCount.MainEntry.UIStartup startup = new AutoCount.MainEntry.UIStartup();
    AutoCount.Data.DBSetting dbSetting = new DBSetting(DBServerType.SQL2000, serverName, "sa", saPassword, dbName);
    AutoCount.Authentication.UserSession userSession = new UserSession(dbSetting);
                
    if (userSession.Login(userName, userPassword))
    {
        startup.SubProjectStartup(userSession, AutoCount.MainEntry.StartupPlugInOption.LoadStandardPlugIn);
    }
    
    Get latest plug-in builder for AutoCount Accounting 2.1

    NuGet

    To download the assemblies to your project, start a new project or open a project, then go to Tools | NuGet Package Manager | Manage NuGet Packages for Solution...

    If unsure of which NuGet package to install, select AutoCount2.MainEntry package is sufficient for most project.

    At the "Browse" tab, search for "autocount2".

    Select the package that is based on the project requirement and click install.

    NuGet Packages Dependency Charts

    For example, when NuGet package AutoCount2.Sales is installed, below packages are installed simultaneously:-
    AutoCount2.Sales

    • AutoCount2.Stock
      • AutoCount2.Invoicing
        • AutoCount2.Inquiry
    • AutoCount2.ARAP
      • AutoCount2.Accounting.UI
        • AutoCount2.UI
          • AutoCount2.Accounting
            • AutoCount2

    Another example, when NuGet package AutoCount2.MainEntry is installed, below packages are installed simultaneously:-
    AutoCount2.MainEntry

    • AutoCount2.FinancialReport
      • AutoCount2.Accounting.UI
        • AutoCount2.UI
          • AutoCount2.Accounting
            • AutoCount2
    • AutoCount2.Tools
      • AutoCount2.GL
      • AutoCount2.GeneralMaint
      • AutoCount2.GST
        • AutoCount2.Inquiry
      • AutoCount2.Purchase
        • AutoCount2.Sales
          • AutoCount2.Stock
            • AutoCount2.Invoicing
          • AutoCount2.ARAP

    AutoCount Script 2.1 Template in Visual Studio Extensions

    AutoCount Script Template 2.1 can be downloaded from Visual Studio Market Place. To download the script template, start Visual Studio 2019 or 2022

    1. On the main menu, click Extensions | Manage Extensions
    2. In the Manage Extensions, search for "AutoCount"
    3. Select the template according to the intended version.
    4. Close all Visual Studio and it starts the setup
    5. Once done, start Visual Studio and create new project
      "AutoCountScript 2.1.8" project is added to the project list.

    You may also visit Microsoft for how to use Visual Studio Extensions. Find, install, and manage extensions for Visual Studio

    • Supported Visual Studio version: 2019, 2022
    • Language in the project: C#


    Go to menu

    Go to top
    Resources For AutoCount Software Developers