Files
bnhtrade/src/bnhtrade.Core/Logic/Utilities/NightlyRoutine.cs
Bobbie Hodgetts 30174290cf pull master into branch
* Migrated projects to dotnet8

migrated all projects over to .net8
incomplete feature for gui shipments

* Amazon inventory ledger testing and implementation

Tested what I can until more data for the Amazon Ledger Detail table comes in

* amazon settlement amounts now set to tax inclusive when exporting to invoice

* Some updates to the COM lib to attempt to get it to work on .net 8. Unfinished, porting all Access functions over to vs instead

* feature exchange rate update automation

Automated downloading exchange rates from HMRC and updating the database. Added function call to the console and form applications.

Also added a form to show the console output in form application.
2025-06-09 21:23:42 +01:00

53 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bnhtrade.Core.Logic.Utilities
{
public class NightlyRoutine
{
private Logic.Log.LogEvent log = new Log.LogEvent();
public NightlyRoutine()
{
}
public void DownloadAll()
{
log.LogInformation("Nightly scheduled tasks started.");
var export = new bnhtrade.Core.Logic.Export.AmazonSettlement();
bool stockUpdate = false;
bool exchangeRate = false;
bool accountProcess = false;
while (true)
{
try
{
if (stockUpdate == false) { stockUpdate = true; new bnhtrade.Core.Logic.Import.Amazon().SyncAllWithDatabase(); ; }
if (exchangeRate == false) { exchangeRate = true; new Logic.Account.Currency().UpdateHmrcExchageRates(); }
if (accountProcess == false) { accountProcess = true; export.ToInvoice(); }
// if (stockProcess == false) { stockProcess = true; stock.ProcessFbaStockImportData(); }
// ^^^^^^ best to process manually, case, fba inventory recepts, if a correction is made days later (ie -1) the already incorrect value
// will have been entered in the stocktransaction table and maked as processed in the inventoryreceipt table
break;
}
catch (Exception ex)
{
log.LogInformation(
"Exception caught running all report get method, see for further details",
ex.ToString()
);
}
}
log.LogInformation("Nightly scheduled tasks finished.");
}
}
}