TaxPro GST User Control Library is developed to free developer from nitty-gritties of GST Invoice upload process and return filing. Software developer, using, TaxPro GST User Control Library should only supply connection string to GSTR controls. GSTR controls uses Microsoft Entity Framework to Save or Read data from database.
Thus good point to start developing using TaxPro GST User Control Library is Database Models present in assembly (and namespace) TaxProGST.Core This class library has classes like Gstr1, Gstr1Return, Gstr1A, etc. Please refer to TaxProGST Core > DBModels section for detailed list of such classes. These Models reflects database schema to support respective GSTR controls. These models helps you build your database schema along with primary keys and foreign keys and relations. You can use these classes (types) to build DbContext as shown below code sample. The complete DbContext classes required for GSTR forms are available as open source on GitHub as Sample Projects.
DbContext class sample for GSTR1 Return:
public class GSTR1Context : DbContext
{
public DbSet<Gstr1Return> dbGstr1Return { get; set; }
public DbSet<Gstr1Return.Gstr1Summary> dbGstr1RetSummary { get; set; }
public DbSet<Gstr1Return.Gstr1Summary.SectionSummary> dbGstr1RetSecSummary { get; set; }
public DbSet<Gstr1Return.Gstr1Summary.SectionSummary.CPSummary> dbGstr1RetCPSummary { get; set; }
public DbSet<Gstr1Return.Gstr1Summary.SectionSummary.StateCodeSummary> dbGstr1RetSCSummary { get; set; }
public GSTR1Context() : base(nameOrConnectionString: "cnTPGST") {}
}
Once you implement all DbContext in your project, it remains to create your database tables. You may use the scripts available in DBUpdates folder or EntityFramework migrations to create database tables easily.
Second thing to watch for is GSTSession. Using this class, TaxPro GST User Control Library provides out-of-box support for handling API Session for single GSTN by storing API Settings and API LoginDetails to Json configuration file in current directory from where application exe runs. If you need to implement support for multiple GSTIN (multiple TaxPayers) API Sessions, you need to write wrapper class which is discussed in topic ToolBox Controls > GSTSession. GSTSession is derived from base class APISession. Also sample wrapper class (with TaxPayerID dependency injection) is provided in GidHub Sample Projects.