Add project files.

This commit is contained in:
Bobbie Hodgetts
2019-03-25 13:02:39 +00:00
parent 81b92f57c6
commit f33220e278
19 changed files with 11307 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="bnhtradeDbConnString"
connectionString="Data Source=SQL-Server;Initial Catalog=e2A;Persist Security Info=TRUE;User ID=e2A Client;Password=eSYH4EYoK6Guc5KIclhgFDlGc4;MultipleActiveResultSets=TRUE" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1" />
</startup>
</configuration>

View File

@@ -0,0 +1,552 @@
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using bnhtradeDatabaseClient;
using bnhtradeDatabaseClient.Stock;
using System.Configuration;
using System.Transactions;
namespace bnhtradeScheduledTasks
{
class Program
{
static string sqlConnectionString = ConfigurationManager.ConnectionStrings["bnhtradeDbConnString"].ConnectionString;
//public static string BNHtradeDbConnectionString()
//{
// return ConfigurationManager.ConnectionStrings["bnhtradeDbConnString"].ConnectionString;
//}
static void Main(string[] args)
{
//string sqlConnectionString = BNHtradeDbConnectionString();
if (args.Length == 0)
{
// get db connection string
//string sqlConnectionString = BNHtradeDbConnectionString();
string consoleHeader = "Welcome to THE application!\n";
do
{
Console.Clear();
Console.WriteLine(consoleHeader);
Console.WriteLine("Main Menu");
Console.WriteLine();
Console.WriteLine("<1> Amazon reports");
Console.WriteLine("<2> Stock functions");
Console.WriteLine("");
Console.WriteLine("<9> Dev functions");
Console.WriteLine("");
Console.WriteLine("<0> Exit");
Console.WriteLine("");
Console.Write("Enter an option >");
string input = Console.ReadLine();
if (input == "0")
{
break;
}
else if (input == "1")
{
do
{
Console.Clear();
Console.WriteLine(consoleHeader);
Console.WriteLine("Main Menu > Amazon Reports");
Console.WriteLine();
Console.WriteLine("<1> Update all Amazon inventory and settlement data");
Console.WriteLine("<2> Update FBA Inventory Data");
Console.WriteLine("<3> Update FBA Inventory Age Data");
Console.WriteLine("<4> Update Amazon Settlement Data");
Console.WriteLine("<5> Update Fba Inventory Receipt Data");
Console.WriteLine("<6> Update Fba Sale Shipment Data");
Console.WriteLine("<7> Update Fba Return Data");
Console.WriteLine("<8> Update Fba Adustment Data");
Console.WriteLine();
Console.WriteLine("<0> Back");
Console.WriteLine("");
Console.Write("Enter an option >");
input = Console.ReadLine();
if (input == "0")
{
break;
}
else if (input == "1")
{
Console.Clear();
DownloadAll();
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "2")
{
Console.Clear();
var task = new AmazonReport();
task.UpdateFbaInventoryData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "3")
{
Console.Clear();
var task = new AmazonReport();
task.UpdateFbaInventoryAgeData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "4")
{
Console.Clear();
var task = new AmazonReport();
var task2 = new StockReconciliation();
task.UpdateAmazonSettlementData(sqlConnectionString);
task2.WIP_ProcessAmazonSettlementData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "5")
{
Console.Clear();
var task = new AmazonReport();
task.UpdateFbaInventoryReceiptData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "6")
{
Console.Clear();
var task = new AmazonReport();
task.UpdateFbaSaleShipmentData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "7")
{
Console.Clear();
var task = new AmazonReport();
task.UpdateFbaReturnData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "8")
{
Console.Clear();
var task = new AmazonReport();
task.UpdateFbaAdustmentData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
} while (true);
}
else if (input == "2")
{
do
{
Console.Clear();
Console.WriteLine(consoleHeader);
Console.WriteLine("Main Menu > Stock Funcions");
Console.WriteLine();
Console.WriteLine("Stock Reconciliation");
Console.WriteLine();
Console.WriteLine("<1> Update Fba Stock Import Data");
Console.WriteLine("<2> Process Fba Stock Import Data");
Console.WriteLine("<3> Reconcile stock transactions");
Console.WriteLine("<4> Run all above");
Console.WriteLine();
Console.WriteLine("<5> (temp) Update Amazon/Sku Min Max values");
Console.WriteLine();
Console.WriteLine("<0> Back");
Console.WriteLine("");
Console.Write("Enter an option >");
input = Console.ReadLine();
if (input == "0")
{
break;
}
else if (input == "1")
{
Console.Clear();
var task = new StockReconciliation();
try
{
task.UpdateFbaStockImportData(sqlConnectionString);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "2")
{
Console.Clear();
var task = new StockReconciliation();
try
{
task.ProcessFbaStockImportData(sqlConnectionString);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "3")
{
Console.Clear();
var task = new StockReconciliation();
var result = new StockReconciliation.ReconcileStockTransactionsResult();
try
{
result = task.ReconcileStockTransactions(sqlConnectionString, false);
Console.WriteLine(result.ItemsCompleted + " of " + (result.ItemsCompleted + result.ItemsRemaining) + " items completed.");
Console.WriteLine("Current transaction ID=" + result.StockTransactionId);
Console.WriteLine(result.ProgressMessage);
Console.WriteLine("");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "4")
{
Console.Clear();
var task = new StockReconciliation();
try
{
task.UpdateFbaStockImportData(sqlConnectionString);
task.ProcessFbaStockImportData(sqlConnectionString);
task.ReconcileStockTransactions(sqlConnectionString, false);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "5")
{
Console.Clear();
//try
//{
bnhtradeDatabaseClient.Inventory.InventoryPricing.AmazonMinMaxTemp(sqlConnectionString);
//}
//catch (Exception ex)
//{
//Console.WriteLine(ex.Message.ToString());
//}
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
} while (true);
}
else if (input == "9")
{
do
{
Console.Clear();
Console.WriteLine(consoleHeader);
Console.WriteLine("Main Menu > Dev Funcions");
Console.WriteLine();
Console.WriteLine("<1> Test Import of Amazon Settlement Data into Account Transaction Table");
Console.WriteLine("<2> Test Stock Journal Reallocate");
Console.WriteLine("<3> test Product Update Amazon Estimate Fee");
Console.WriteLine("<4> Process Amazon Reimbursement Report (into transactiontable)");
Console.WriteLine("<5> Test Stock Table Delete");
Console.WriteLine("<6> Test Owner intro insert");
Console.WriteLine("<7> Currency exchange rate insert");
Console.WriteLine("<8> Update Amazon Inventory Table");
Console.WriteLine();
Console.WriteLine("<0> Back");
Console.WriteLine("");
Console.Write("Enter an option >");
input = Console.ReadLine();
if (input == "0")
{
break;
}
else if (input == "1")
{
Console.Clear();
var task = new StockReconciliation();
task.WIP_ProcessAmazonSettlementData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "2")
{
Console.Clear();
int result = new int();
try
{
result = TempStuff.TempTasks.testStockReallocate();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine(result);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "3")
{
Console.Clear();
TempStuff.TempTasks.test_ProductUpdateAmazonEstimateFee();
Console.WriteLine("Done");
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "4")
{
Console.Clear();
var task = new StockReconciliation();
task.WIP_ProcessFbaReimbursementData(sqlConnectionString);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "5")
{
Console.Clear();
int result = new int();
try
{
TempStuff.TempTasks.testStockJournalDelete();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine(result);
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "6")
{
Console.Clear();
int result = 0;
try
{
result = TempStuff.TempTasks.input6();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine(result.ToString());
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "7")
{
Console.Clear();
//bool result = false;
int result = 0;
try
{
result = TempStuff.TempTasks.CurrencyExchangeInsert();
Console.WriteLine("Result: " + result.ToString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
else if (input == "8")
{
Console.Clear();
try
{
TempStuff.TempTasks.test_AmazonInventoryTableUpdate();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
//Console.WriteLine(result.ToString());
Console.WriteLine("Complete, press any key to continue...");
Console.ReadKey();
}
} while (true);
}
} while (true);
}
else
{
if (args.Length > 1)
{
Console.WriteLine("Currently only one command line argument is accepted. Exiting application...");
Thread.Sleep(3000);
}
else
{
if (args[0] == "RunAll")
{
Console.WriteLine("Starting all reports download...");
Thread.Sleep(3000);
Console.Clear();
DownloadAll();
Console.WriteLine("Finished!! Exiting application...");
Thread.Sleep(3000);
}
else if (args[0] == "StockReconcileUnsafe")
{
Console.WriteLine("Starting (unsafe) stock reconciliation...");
Console.Clear();
StockReconciliation task = new StockReconciliation();
StockReconciliation.ReconcileStockTransactionsResult result = new StockReconciliation.ReconcileStockTransactionsResult();
result = task.ReconcileStockTransactions(sqlConnectionString, false);
Console.WriteLine("Progress: " + result.ProgressMessage);
Console.WriteLine("Reconciled date: " + result.LastItemDateTime.ToString());
Console.WriteLine("Transactions completed: " + result.ItemsCompleted);
Console.WriteLine("Transactions remaining: " + result.ItemsRemaining);
if (!result.ReconciliationComplete)
{
Console.WriteLine("Halted at Stock Transaction ID: " + result.StockTransactionId);
}
Console.WriteLine("Exiting application...");
}
else
{
Console.WriteLine("Command line parameter not recognised. Exiting application...");
Thread.Sleep(3000);
}
}
Environment.Exit(0);
}
}
private static void DownloadAll()
{
MiscFunction.EventLogInsert("Nightly scheduled tasks started.");
var account = new AmazonReport();
var stock = new StockReconciliation();
bool accountUpdate = false;
bool stockUpdate = false;
bool accountProcess = false;
bool stockProcess = false;
while (true)
{
try
{
if (accountUpdate == false) { accountUpdate = true; account.UpdateAmazonSettlementData(sqlConnectionString); }
if (stockUpdate == false) { stockUpdate = true; stock.UpdateFbaStockImportData(sqlConnectionString); }
if (accountProcess == false) { accountProcess = true; stock.WIP_ProcessAmazonSettlementData(sqlConnectionString); }
// 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)
{
MiscFunction.EventLogInsert(
"Exception caught running all report get method, see for further details",
1,
ex.ToString()
);
}
}
MiscFunction.EventLogInsert("Nightly scheduled tasks finished.");
}
}
}
namespace TempStuff
{
public class TempTasks
{
static string sqlConnectionString = ConfigurationManager.ConnectionStrings["bnhtradeDbConnString"].ConnectionString;
public static void testStockTableDelete()
{
//bnhtradeDatabaseClient.Stock.StockQuery.WIP_StockTableDelete(sqlConnectionString, 15776);
}
public static bool testStockConsistCheck()
{
//return bnhtradeDatabaseClient.Stock.StockQuery.WIP_StockJournalConsistencyCheck(sqlConnectionString, 22677);
return false;
}
public static void testStockDelete()
{
//bnhtradeDatabaseClient.Stock.StockQuery.WIP_StockDelete(sqlConnectionString, 15798);
}
public static void testStockJournalDelete()
{
//bnhtradeDatabaseClient.Stock.StockQuery.StockJournalDelete(sqlConnectionString, 33763);
}
public static int testStockReallocate()
{
int creditStatusId = 4;
int debitStatusId = 21;
DateTime entryDate = new DateTime(2099, 06, 15);
//return bnhtradeDatabaseClient.Stock.StockQuery.StockReallocateByStockId(sqlConnectionString, 4, 15776, 1, debitStatusId, creditStatusId, entryDate);
return 0;
}
public static void testPurchaseLineInsert()
{
DateTime entrdate = DateTime.Parse("07/09/2016 08:13:54");
//return bnhtradeDatabaseClient.Purchase.PurchaseQuery.WIP_PurchaseLineNetTransactionInsert(sqlConnectionString, 10164, "GBP", 138, 9.98m, entrdate);
bnhtradeDatabaseClient.Purchase.PurchaseQuery.WIP_PurchaseLineTransactionNetUpdate(sqlConnectionString, 10164, "GBP", 138, 100000);
}
public static void test_ProductUpdateAmazonEstimateFee()
{
var list = new List<(string asin, decimal price)>();
list.Add(("B000MGVBG4", 1.99m));
bnhtradeDatabaseClient.Product.ProductQuery.ProductUpdateAmazonEstimateFee(sqlConnectionString, list);
}
public static void test_AmazonInventoryTableUpdate()
{
//bnhtradeDatabaseClient.Inventory.InventoryPricing.AmazonInventoryTableUpdate(sqlConnectionString);
}
public static int input6()
{
DateTime entrdate = DateTime.Parse("28/11/2018 08:13:54");
return bnhtradeDatabaseClient.Stock.StockCreate.WIP_StockInsertOwnerIntroduced(sqlConnectionString, 0.01m, 7, 15374, 51, 16, entrdate, 51);
}
public static int CurrencyExchangeInsert()
{
DateTime start = new DateTime(2019, 03, 01);
DateTime finish = new DateTime(2019, 04, 01);
return bnhtradeDatabaseClient.Account.AccountQuery.CurrencyExchangeRateInsert(sqlConnectionString, 1, "USD", 222m, start, finish, true );
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("bnhtrade Scheduled Tasks")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("bnhtrade Scheduled Tasks")]
[assembly: AssemblyCopyright("Copyright © 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5d6e1d66-3901-4340-95c6-ee65051ab623")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,37 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace bnhtrade_Scheduled_Tasks.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.6.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=SQL-Server;Initial Catalog=e2A;Persist Security Info=TRUE;User ID=e2A" +
" Client;Password=eSYH4EYoK6Guc5KIclhgFDlGc4;MultipleActiveResultSets=TRUE")]
public string bnhtradeDbConnString {
get {
return ((string)(this["bnhtradeDbConnString"]));
}
}
}
}

View File

@@ -0,0 +1,13 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="bnhtrade_Scheduled_Tasks.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="bnhtradeDbConnString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
&lt;ConnectionString&gt;Data Source=SQL-Server;Initial Catalog=e2A;Persist Security Info=TRUE;User ID=e2A Client;Password=eSYH4EYoK6Guc5KIclhgFDlGc4;MultipleActiveResultSets=TRUE&lt;/ConnectionString&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SQL-Server;Initial Catalog=e2A;Persist Security Info=TRUE;User ID=e2A Client;Password=eSYH4EYoK6Guc5KIclhgFDlGc4;MultipleActiveResultSets=TRUE</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5D6E1D66-3901-4340-95C6-EE65051AB623}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>bnhtrade_Scheduled_Tasks</RootNamespace>
<AssemblyName>bnhtradeScheduledTasks</AssemblyName>
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject>bnhtradeScheduledTasks.Program</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Transactions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\bnhtrade Database Client\bnhtradeDatabaseClient.csproj">
<Project>{339d7413-3da7-46ea-a55c-255a9a6b95eb}</Project>
<Name>bnhtradeDatabaseClient</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7.1">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.1 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>