Skip to content

Commit 720a0bf

Browse files
committed
1.1.0 accounts mode
1 parent d8255de commit 720a0bf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+897
-536
lines changed

changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Change Log
2+
3+
Changes to 1.1.0, released 1 July 2021.
4+

docs/dev_plan.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Trade Control - Web Interface
2+
3+
## Implementation Plan
4+
5+
### Phase 1 - Data Models
6+
7+
- [x] Entity Framework Core scaffold
8+
- [x] Test model - Calendars
9+
10+
### Phase 2 - Business Logic
11+
12+
- [x] Asynchronous connection to the [sqlnode](https://github.com/tradecontrol/sqlnode)
13+
- [x] Test logic - Payment Entry
14+
15+
The implmented EF Core scaffold and business logic support the functionality of sql node version 3.34.2 for Phases 3-6.
16+
17+
### Phase 3 - Web Environment
18+
19+
Requires sql node version 3.34.3 to support the AspNetCore.Identity datastore and registration process.
20+
21+
- [x] Authentication
22+
- [x] Register new users
23+
- [x] Authorisation
24+
- [x] [Device Detection](https://github.com/wangkanai/Detection)
25+
- [x] Layouts and Navigation
26+
- [x] Session service
27+
28+
### Phase 4 - Accounts Mode
29+
30+
Requires [sql node 3.34.6](https://github.com/tradecontrol/sqlnode) or higher.
31+
32+
- [x] Accounts Mode menu
33+
- [x] Basic home page
34+
- [x] Error trapping
35+
- [x] Error Log
36+
- [x] Payment Entry - bank accounts and adjustments
37+
- [x] Create and lookup organisations, category, tax and cash codes
38+
- [x] Asset Entry - capital accounts for long-term assets and liabilities
39+
- [x] Cash Account Statements - reporting and maintenance
40+
- [x] Interbank Transfers - accruals and payments
41+
- [x] Cash Account Maintenance - cash, asset and dummy accounts
42+
- [x] Organisation Maintenance - create, edit and delete organisations, contacts and addresses
43+
- [x] Organisation Enquiries - details, invoices, payments and SvD statements
44+
- [x] Debtors and Creditors - current and historical balance sheet audit
45+
- [x] Raise invoices and credit notes
46+
- [x] Cancel invoices
47+
- [x] Modify and reshedule invoices
48+
- [x] Invoice Register - sales and purchases by period
49+
- [x] Cash Code invoice summary
50+
- [x] Unpaid income and expense
51+
- [x] Host settings
52+
- [x] [Website email service](https://github.com/jstedfast/MailKit)
53+
- [x] Html document templates
54+
- [x] Template manager
55+
- [x] Configure email document templates (images and attachments)
56+
- [x] File transfer (upload/download templates)
57+
- [x] Email invoices to contacts
58+
- [x] Email preview
59+
- [x] Vat Statement and quarterly totals
60+
- [x] Company Tax Statement and period totals
61+
- [x] Tax rates
62+
- [x] Balance Sheet by period
63+
- [x] Profit and Loss by period
64+
- [x] Category and Cash Code maintenance
65+
- [x] Cash Totals
66+
- [x] Tax Settings
67+
- [x] System settings
68+
- [x] Period End maintenance and closedown
69+
- [x] Error reporting template and support submission
70+
- [x] Company initialisation
71+
- [x] [sql node](https://github.com/tradecontrol/sqlnode) release
72+
73+
### Phase 5 - MIS Mode
74+
75+
- [ ] Definitions
76+
- [ ] Interface
77+
- [ ] Documents
78+
79+
### Phase 6 - Extensions
80+
81+
- [ ] [Supply-Chain Network](https://github.com/tradecontrol/network)
82+
- [ ] [Bitcoin Wallet](https://github.com/tradecontrol/bitcoin)
83+
84+
## Licence
85+
86+
The Trade Control Code licence is issued by Trade Control Ltd under a [GNU General Public Licence v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)

readme.md

Lines changed: 11 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -2,86 +2,22 @@
22

33
Using ASP.NET Core to web enable the [Accounts](https://tradecontrol.github.io/accounts) and [MIS](https://tradecontrol.github.io/mis) interface on desktops and mobiles.
44

5-
## Implementation Plan
5+
## Publications
66

7-
### Phase 1 - Data Models
7+
| Release | Published |
8+
| - | - |
9+
| Accounts Mode | 1 July 2021 |
810

9-
- [x] Entity Framework Core scaffold
10-
- [x] Test model - Calendars
11+
## Development
1112

12-
### Phase 2 - Business Logic
13+
- [implementation plan](docs/dev_plan.md)
14+
- [change log](changelog.md)
1315

14-
- [x] Asynchronous connection to the [sqlnode](https://github.com/tradecontrol/sqlnode)
15-
- [x] Test logic - Payment Entry
16+
## Documentation
1617

17-
The implmented EF Core scaffold and business logic support the functionality of sql node version 3.34.2 for Phases 3-6.
18-
19-
### Phase 3 - Web Environment
20-
21-
Requires sql node version 3.34.3 to support the AspNetCore.Identity datastore and registration process.
22-
23-
- [x] Authentication
24-
- [x] Register new users
25-
- [x] Authorisation
26-
- [x] [Device Detection](https://github.com/wangkanai/Detection)
27-
- [x] Layouts and Navigation
28-
- [x] Session service
29-
30-
### Phase 4 - Accounts Mode
31-
32-
Requires [sql node 3.34.6](https://github.com/tradecontrol/sqlnode) or higher.
33-
34-
- [x] Accounts Mode menu
35-
- [x] Basic home page
36-
- [x] Error trapping
37-
- [x] Error Log
38-
- [x] Payment Entry - bank accounts and adjustments
39-
- [x] Create and lookup organisations, category, tax and cash codes
40-
- [x] Asset Entry - capital accounts for long-term assets and liabilities
41-
- [x] Cash Account Statements - reporting and maintenance
42-
- [x] Interbank Transfers - accruals and payments
43-
- [x] Cash Account Maintenance - cash, asset and dummy accounts
44-
- [x] Organisation Maintenance - create, edit and delete organisations, contacts and addresses
45-
- [x] Organisation Enquiries - details, invoices, payments and SvD statements
46-
- [x] Debtors and Creditors - current and historical balance sheet audit
47-
- [x] Raise invoices and credit notes
48-
- [x] Cancel invoices
49-
- [x] Modify and reshedule invoices
50-
- [x] Invoice Register - sales and purchases by period
51-
- [x] Cash Code invoice summary
52-
- [x] Unpaid income and expense
53-
- [x] Host settings
54-
- [x] [Website email service](https://github.com/jstedfast/MailKit)
55-
- [x] Html document templates
56-
- [x] Template manager
57-
- [x] Configure email document templates (images and attachments)
58-
- [x] File transfer (upload/download templates)
59-
- [x] Email invoices to contacts
60-
- [x] Email preview
61-
- [x] Vat Statement and quarterly totals
62-
- [x] Company Tax Statement and period totals
63-
- [x] Tax rates
64-
- [x] Balance Sheet by period
65-
- [x] Profit and Loss by period
66-
- [x] Category and Cash Code maintenance
67-
- [x] Cash Totals
68-
- [x] Tax Settings
69-
- [x] System settings
70-
- [x] Period End maintenance and closedown
71-
- [x] Error reporting template and support submission
72-
- [x] Company initialisation
73-
- [x] [sql node](https://github.com/tradecontrol/sqlnode) release
74-
75-
### Phase 5 - MIS Mode
76-
77-
- [ ] Definitions
78-
- [ ] Interface
79-
- [ ] Documents
80-
81-
### Phase 6 - Extensions
82-
83-
- [ ] [Supply-Chain Network](https://github.com/tradecontrol/network)
84-
- [ ] [Bitcoin Wallet](https://github.com/tradecontrol/bitcoin)
18+
- [overview](https://tradecontrol.github.io)
19+
- [installation](https://tradecontrol.github.io/tutorials/installing-web)
20+
- [tutorial](https://tradecontrol.github.io/tutorials/cash-book-web)
8521

8622
## Versioning
8723

src/TCWeb/Areas/Identity/IdentityHostingStartup.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ public void Configure(IWebHostBuilder builder)
7878
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
7979
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
8080

81-
/*
8281
double sessionTimeSpan = double.Parse(context.Configuration.GetSection("Settings")["SessionTimeSpan"]);
8382

8483
services.AddSession(options =>
@@ -87,7 +86,6 @@ public void Configure(IWebHostBuilder builder)
8786
options.Cookie.HttpOnly = true;
8887
options.Cookie.IsEssential = true;
8988
});
90-
*/
9189

9290
});
9391
}

src/TCWeb/Areas/Identity/Pages/Account/RegisterConfirmation.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66

77
<h1>@ViewData["Title"]</h1>
88
<div>
9-
Your registration is being processed. Please await confirmation by email from your systems administrator.
9+
Your registration is being processed. System administrators can log in automatically.
1010
</div>

src/TCWeb/Data/NodeContext.cs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public NodeContext(DbContextOptions<NodeContext> options) : base(options) { }
143143
public virtual DbSet<Cash_vwAccountStatement> Cash_AccountStatements { get; set; }
144144
public virtual DbSet<Cash_vwAccountStatementListing> Cash_AccountStatementListings { get; set; }
145145
public virtual DbSet<Cash_vwBalanceSheet> Cash_BalanceSheet { get; set; }
146-
public virtual DbSet<Cash_vwProfitAndLossByMonth> Cash_ProfitAndLossByMonth { get; set; }
146+
public virtual DbSet<Cash_vwProfitAndLossByPeriod> Cash_ProfitAndLossByMonth { get; set; }
147147
public virtual DbSet<Cash_vwProfitAndLossByYear> Cash_ProfitAndLossByYear { get; set; }
148148
public virtual DbSet<Invoice_vwAccountsMode> Invoice_AccountsMode { get; set; }
149149
public virtual DbSet<App_vwHost> App_Host { get; set; }
@@ -172,7 +172,10 @@ public NodeContext(DbContextOptions<NodeContext> options) : base(options) { }
172172
public virtual DbSet<Invoice_vwCandidateSale> Invoice_CandidateSales { get; set; }
173173
public virtual DbSet<Org_vwCashAccountAsset> Org_CashAccountAssets { get; set; }
174174
public virtual DbSet<Org_vwCashAccount> Org_CashAccounts { get; set; }
175-
public virtual DbSet<Cash_vwCashFlowType> Cash_CashFlowTypes { get; set; }
175+
public virtual DbSet<Cash_vwCashFlowType> Cash_FlowTypes { get; set; }
176+
public virtual DbSet<Cash_vwFlowCategory> Cash_FlowCategories { get; set; }
177+
public virtual DbSet<Cash_vwFlowCategoryByPeriod> Cash_FlowCategoryByPeriods { get; set; }
178+
public virtual DbSet<Cash_vwFlowCategoryByYear> Cash_FlowCategoryByYears { get; set; }
176179
public virtual DbSet<Cash_vwCategoryBudget> Cash_CategoryBudget { get; set; }
177180
public virtual DbSet<Cash_vwCategoryTotal> Cash_CategoryTotals { get; set; }
178181
public virtual DbSet<Cash_vwCategoryTotalCandidate> Cash_CategoryTotalCandidates { get; set; }
@@ -1878,24 +1881,6 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
18781881
.IsUnique()
18791882
.HasFillFactor((byte)90);
18801883

1881-
entity.Property(e => e.InsertedBy).HasDefaultValueSql("(suser_sname())");
1882-
1883-
entity.Property(e => e.InsertedOn).HasDefaultValueSql("(getdate())");
1884-
1885-
entity.Property(e => e.OrganisationStatusCode).HasDefaultValueSql("((1))");
1886-
1887-
entity.Property(e => e.OrganisationTypeCode).HasDefaultValueSql("((1))");
1888-
1889-
//entity.Property(e => e.PayBalance).HasDefaultValueSql("((1))");
1890-
1891-
//entity.Property(e => e.RowVer)
1892-
// .IsRowVersion()
1893-
// .IsConcurrencyToken();
1894-
1895-
entity.Property(e => e.UpdatedBy).HasDefaultValueSql("(suser_sname())");
1896-
1897-
entity.Property(e => e.UpdatedOn).HasDefaultValueSql("(getdate())");
1898-
18991884
entity.HasOne(d => d.AddressCodeNavigation)
19001885
.WithMany(p => p.TbOrgs)
19011886
.HasForeignKey(d => d.AddressCode)
@@ -2729,9 +2714,9 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
27292714
entity.ToView("vwAttributesForQuote", "Task");
27302715
});
27312716

2732-
modelBuilder.Entity<Cash_vwProfitAndLossByMonth>(entity =>
2717+
modelBuilder.Entity<Cash_vwProfitAndLossByPeriod>(entity =>
27332718
{
2734-
entity.ToView("vwProfitAndLossByMonth", "Cash");
2719+
entity.ToView("vwProfitAndLossByPeriod", "Cash");
27352720
});
27362721

27372722
modelBuilder.Entity<Cash_vwProfitAndLossByYear>(entity =>
@@ -2818,6 +2803,21 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
28182803
entity.ToView("vwCashFlowTypes", "Cash");
28192804
});
28202805

2806+
modelBuilder.Entity<Cash_vwFlowCategory>(entity =>
2807+
{
2808+
entity.ToView("vwFlowCategories", "Cash");
2809+
});
2810+
2811+
modelBuilder.Entity<Cash_vwFlowCategoryByPeriod>(entity =>
2812+
{
2813+
entity.ToView("vwFlowCategoryByPeriod", "Cash");
2814+
});
2815+
2816+
modelBuilder.Entity<Cash_vwFlowCategoryByYear>(entity =>
2817+
{
2818+
entity.ToView("vwFlowCategoryByYear", "Cash");
2819+
});
2820+
28212821
modelBuilder.Entity<Cash_vwCategoryBudget>(entity =>
28222822
{
28232823
entity.ToView("vwCategoryBudget", "Cash");

0 commit comments

Comments
 (0)