Fixed a bug when deleting non ad special rows the ad special index flag wouldn't get updated.

This commit is contained in:
2016-11-05 13:33:25 -05:00
parent 6385ed283f
commit 95d5cd9943
10 changed files with 122 additions and 60 deletions
@@ -231,6 +231,9 @@
</BootstrapperPackage> </BootstrapperPackage>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="APCDatabase.accdb">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Stretched Logo Collection.ico" /> <Content Include="Stretched Logo Collection.ico" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+60 -51
View File
@@ -280,15 +280,22 @@ namespace AdvertsingProfitControl
private void UpdateUsedAdItemCollectionOnRowRemoving(object sender, CancelEventArgs e) private void UpdateUsedAdItemCollectionOnRowRemoving(object sender, CancelEventArgs e)
{ {
//Create an object that represents the DataGridView that fired the event. //Create an object that represents the DataGridView that fired the event.
var dataGridView = ((DataGridView)sender); var dataGridView = (DataGridView)sender;
if (dataGridView.CurrentRow == null) return; if (dataGridView.CurrentRow == null) return;
var currentRowIndex = dataGridView.CurrentRow.Index; var currentRowIndex = dataGridView.CurrentRow.Index;
//Remove the ad item from the gUsedAdItem collection, if it exists. //Remove the ad item from the gUsedAdItem collection, if it exists.
if (_adSpecialIndex == -1 || currentRowIndex < _adSpecialIndex) if (_adSpecialIndex == -1)
{ {
//If the ad item entered in the first cell is in the gUsedAdItems collection, then remove it from there. //If the ad item entered in the first cell is in the gUsedAdItems collection, then remove it from there.
_usedAdItems[0].Remove(dataGridView.Rows[currentRowIndex].Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue.ToString()); _usedAdItems[0].Remove(dataGridView.Rows[currentRowIndex].Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue.ToString());
} }
else if (currentRowIndex < _adSpecialIndex)
{
//If the ad item entered in the first cell is in the gUsedAdItems collection, then remove it from there.
_usedAdItems[0].Remove(dataGridView.Rows[currentRowIndex].Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue.ToString());
//Also decrement the _adSpecialIndex so that it points to the correct row.
_adSpecialIndex--;
}
else if (currentRowIndex > _adSpecialIndex) else if (currentRowIndex > _adSpecialIndex)
{ {
//If the ad item entered in the first cell is in the gUsedAdItems collection, then remove it from there. //If the ad item entered in the first cell is in the gUsedAdItems collection, then remove it from there.
@@ -1552,8 +1559,6 @@ namespace AdvertsingProfitControl
private void getCellValueDebugMainMenu_Click(object sender, EventArgs e) private void getCellValueDebugMainMenu_Click(object sender, EventArgs e)
{ {
var dataGridView = (DataGridView)mainTabControl.TabPages[0].Controls[0];
MessageBox.Show(dataGridView.CurrentRow.DefaultCellStyle.BackColor.Name);
} }
private void AddRecordsButtonClick(object sender, EventArgs e) private void AddRecordsButtonClick(object sender, EventArgs e)
@@ -1647,7 +1652,9 @@ namespace AdvertsingProfitControl
} }
//Run the row parsing engine on all the APC tables. //Run the row parsing engine on all the APC tables.
//Create the cleaned table objects that will be sent to the database. //Create the cleaned table objects that will be sent to the database.
//var trimmedProjectionsTable = ConstructCleanedProjectionsTable(dateId); var trimmed = new DataTable();
var update = new DataTable();
var trimmedProjectionsTable = ConstructCleanedProjectionsTable(dateId, out trimmed, out update);
//var trimmedInventoryTable = ConstructCleanedInventoryTable(dateId); //var trimmedInventoryTable = ConstructCleanedInventoryTable(dateId);
//var trimmedActualSalesTable = ConstructCleanedActualSalesTable(dateId); //var trimmedActualSalesTable = ConstructCleanedActualSalesTable(dateId);
//Create the transaction scope. //Create the transaction scope.
@@ -1703,8 +1710,6 @@ namespace AdvertsingProfitControl
var databaseReader = new DatabaseReader(); var databaseReader = new DatabaseReader();
var databaseWriter = new DatabaseWriter(databaseTracker.DatabaseConnectionString); var databaseWriter = new DatabaseWriter(databaseTracker.DatabaseConnectionString);
var adSpecialId = 0; //Entries in the database are not allowed to be zero (unique ID wise that is). var adSpecialId = 0; //Entries in the database are not allowed to be zero (unique ID wise that is).
//Dictionary<AdItemID, TableID> The table ID is zero (0) for the new table and one (1) for the update table.
var usedAdItems = new Dictionary<int, string>(); //Contains ad items that are used in section one, used for checking for repeats.
//Grab the ad special ID, assuming there is one. //Grab the ad special ID, assuming there is one.
if (_adSpecialIndex != -1) if (_adSpecialIndex != -1)
{ {
@@ -1727,11 +1732,6 @@ namespace AdvertsingProfitControl
//Check to see if the row is dirty. //Check to see if the row is dirty.
if (!(bool)row.Cells[(int)SalesTableColumns.IsDirty].Value) if (!(bool)row.Cells[(int)SalesTableColumns.IsDirty].Value)
{ {
//Log ad items from section one (1), recording their row index as the key.
//If the ad special isn't set then ignore this operation entirely as its not necessary.
if (_adSpecialIndex != -1 && row.Index < _adSpecialIndex)
{
}
//If it is not then continue on to the next row. //If it is not then continue on to the next row.
continue; continue;
} }
@@ -1746,53 +1746,62 @@ namespace AdvertsingProfitControl
adItemId = databaseWriter.InsertNewAdItem(row.Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue.ToString()); adItemId = databaseWriter.InsertNewAdItem(row.Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue.ToString());
if (adItemId == 0) if (adItemId == 0)
{ {
errorLabel.Text = @"Failed to insert new ad item.";
//TODO: Throw an exception, this can not be allowed. //TODO: Throw an exception, this can not be allowed.
//AdItemInsertionFailedException //AdItemInsertionFailedException
trimmedTables[0].Rows.Clear(); //Work around for now trimmedTables[0].Rows.Clear(); //Work around for now
trimmedTables[1].Rows.Clear(); trimmedTables[1].Rows.Clear();
//throw new InvalidOperationException("Failed to add ad item."); return TrimmingOperationResult.FailedToTrim;
//break;
} }
} }
var tableIndex = 0; var tableIndex = 0;
string spma;
//Check for repeated ad items in the ad special section //Check for repeated ad items in the ad special section
if (usedAdItems.TryGetValue(adItemId, out spma)) if (_adSpecialIndex != -1 && row.Index > _adSpecialIndex)
{ {
//If the ad item is being used in section one then locate it and update it in the trimmed table. //Attempt to grab the index of an ad item, if it is not found then the return value is -1.
var foundRow = trimmedTables[tableIndex].Select("AdItemID = '" + adItemId + "'"); var repeatedItemIndex =
if (foundRow.Length == 1) _usedAdItems[0].FindIndex(x => x == row.Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue.ToString());
//Check if a repeat was found.
if (repeatedItemIndex != -1)
{ {
LogConsole.WriteToLog(FrmLogConsole.Level.Info, LogConsole.WriteToLog(FrmLogConsole.Level.Info, "Repeated ad item '" + row.Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue + "' found.");
"Ad item '" + row.Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue + LogConsole.WriteToLog(FrmLogConsole.Level.Info, "Its row index is " + repeatedItemIndex + ".");
"' found in the trimmed table.");
} }
else //if (_usedAdItems[0].Contains(row.Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue.ToString()))
{ //{
//TODO: Throw an exception, this can not be allowed. // //If the ad item is being used in section one then locate it and update it in the trimmed table.
//InvalidTrimmedRowCountException // var foundRow = trimmedTables[tableIndex].Select("AdItemID = '" + adItemId + "'");
trimmedTables[0].Rows.Clear(); //Work around for now // if (foundRow.Length == 1)
trimmedTables[1].Rows.Clear(); // {
break; // LogConsole.WriteToLog(FrmLogConsole.Level.Info,
} // "Ad item '" + row.Cells[(int)SalesTableColumns.AdItem].EditedFormattedValue +
//Begin spinning through all the rows to find the one selected above. // "' found in the trimmed table.");
for (var i = 0; i < trimmedTables[tableIndex].Rows.Count; i++) // }
{ // else
//Check to see if the selected row is equal. // {
if (foundRow[0] != trimmedTables[tableIndex].Rows[i]) continue; // //TODO: Throw an exception, this can not be allowed.
//If so then update that row index with the group ID number. // //InvalidTrimmedRowCountException
if (tableIndex == 0) // trimmedTables[0].Rows.Clear(); //Work around for now
{ // trimmedTables[1].Rows.Clear();
trimmedTables[0].Rows[i][8] = adSpecialId; // return TrimmingOperationResult.FailedToTrim;
} // }
else // //Begin spinning through all the rows to find the one selected above.
{ // for (var i = 0; i < trimmedTables[tableIndex].Rows.Count; i++)
trimmedTables[1].Rows[i][9] = adSpecialId; // {
} // //Check to see if the selected row is equal.
} // if (foundRow[0] != trimmedTables[tableIndex].Rows[i]) continue;
//Once ad special ID has been updated jump to the next row. // //If so then update that row index with the group ID number.
continue; // if (tableIndex == 0)
// {
// trimmedTables[0].Rows[i][8] = adSpecialId;
// }
// else
// {
// trimmedTables[1].Rows[i][9] = adSpecialId;
// }
// }
// //Once ad special ID has been updated jump to the next row.
// continue;
//}
} }
//Determine the row's attribute. //Determine the row's attribute.
var rowAttribute = 0; //Zero (0) means no grouping, its not a header nor a member. var rowAttribute = 0; //Zero (0) means no grouping, its not a header nor a member.
@@ -1807,7 +1816,7 @@ namespace AdvertsingProfitControl
//Since we've made it this far, add the ad item into the dictionary if we're not in the ad special group. //Since we've made it this far, add the ad item into the dictionary if we're not in the ad special group.
if (_adSpecialIndex != -1 && row.Index > _adSpecialIndex) if (_adSpecialIndex != -1 && row.Index > _adSpecialIndex)
{ {
usedAdItems.Add(row.Index, "s"); //usedAdItems.Add(row.Index, "s");
} }
//Add the values to their respective data table. //Add the values to their respective data table.
if (rowIdNumber == 0) if (rowIdNumber == 0)
@@ -1834,7 +1843,7 @@ namespace AdvertsingProfitControl
} }
newRow[10] = dateId; newRow[10] = dateId;
trimmedTables[0].Rows.Add(newRow); trimmedTables[0].Rows.Add(newRow);
usedAdItems.Add(adItemId, "0"); //usedAdItems.Add(adItemId, "0");
} }
else else
{ {
@@ -1861,7 +1870,7 @@ namespace AdvertsingProfitControl
} }
newRow[11] = dateId; newRow[11] = dateId;
trimmedTables[1].Rows.Add(newRow); trimmedTables[1].Rows.Add(newRow);
usedAdItems.Add(adItemId, "1"); //usedAdItems.Add(adItemId, "1");
} }
//LogConsole.WriteToLog(FrmLogConsole.Level.Verbose, "Row Dump for row number " + (row.Index + 1) + "."); //LogConsole.WriteToLog(FrmLogConsole.Level.Verbose, "Row Dump for row number " + (row.Index + 1) + ".");
//LogConsole.WriteToLog(FrmLogConsole.Level.Verbose, "ID : " + rowIdNumber + " Sold: " + row.Cells[(int)SalesTableColumns.Sold].EditedFormattedValue); //LogConsole.WriteToLog(FrmLogConsole.Level.Verbose, "ID : " + rowIdNumber + " Sold: " + row.Cells[(int)SalesTableColumns.Sold].EditedFormattedValue);
Binary file not shown.
@@ -7,14 +7,14 @@
<framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" /> <framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks> </compatibleFrameworks>
<dependency> <dependency>
<dependentAssembly dependencyType="install" codebase="AdvertsingProfitControl.exe.manifest" size="6289"> <dependentAssembly dependencyType="install" codebase="AdvertsingProfitControl.exe.manifest" size="6687">
<assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" /> <assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>BdpMI18xuF58t84pN4xrCnguGw/WzgI8+4NoHv0AZ2Q=</dsig:DigestValue> <dsig:DigestValue>NTO0L5eo/+hVPkpkkG+l0Cwyq1UDJhAIhKLSFVe0G7M=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
@@ -50,7 +50,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>OJ71svPIgpljDYB7Isp1dyJ+HAA2f5EAkzyTUGfVCPE=</dsig:DigestValue> <dsig:DigestValue>F+SMPqUABgZezUBIYj70xi9mrD6XzMo/h89+58pb5mM=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
@@ -78,6 +78,15 @@
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
<file name="APCDatabase.accdb" size="2932736">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>jHrcUaYXYq1n7JCrmyieXoxYIayP5Xf8FNLYAJKW198=</dsig:DigestValue>
</hash>
</file>
<file name="Stretched Logo Collection.ico" size="370070"> <file name="Stretched Logo Collection.ico" size="370070">
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
@@ -7,14 +7,14 @@
<framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" /> <framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks> </compatibleFrameworks>
<dependency> <dependency>
<dependentAssembly dependencyType="install" codebase="AdvertsingProfitControl.exe.manifest" size="6289"> <dependentAssembly dependencyType="install" codebase="AdvertsingProfitControl.exe.manifest" size="6687">
<assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" /> <assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>BdpMI18xuF58t84pN4xrCnguGw/WzgI8+4NoHv0AZ2Q=</dsig:DigestValue> <dsig:DigestValue>NTO0L5eo/+hVPkpkkG+l0Cwyq1UDJhAIhKLSFVe0G7M=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
@@ -50,7 +50,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>OJ71svPIgpljDYB7Isp1dyJ+HAA2f5EAkzyTUGfVCPE=</dsig:DigestValue> <dsig:DigestValue>F+SMPqUABgZezUBIYj70xi9mrD6XzMo/h89+58pb5mM=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
@@ -78,6 +78,15 @@
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
<file name="APCDatabase.accdb" size="2932736">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>jHrcUaYXYq1n7JCrmyieXoxYIayP5Xf8FNLYAJKW198=</dsig:DigestValue>
</hash>
</file>
<file name="Stretched Logo Collection.ico" size="370070"> <file name="Stretched Logo Collection.ico" size="370070">
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
@@ -7,14 +7,14 @@
<framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" /> <framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks> </compatibleFrameworks>
<dependency> <dependency>
<dependentAssembly dependencyType="install" codebase="AdvertsingProfitControl.exe.manifest" size="6289"> <dependentAssembly dependencyType="install" codebase="AdvertsingProfitControl.exe.manifest" size="6687">
<assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" /> <assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" />
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>BdpMI18xuF58t84pN4xrCnguGw/WzgI8+4NoHv0AZ2Q=</dsig:DigestValue> <dsig:DigestValue>NTO0L5eo/+hVPkpkkG+l0Cwyq1UDJhAIhKLSFVe0G7M=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
@@ -165,3 +165,26 @@ C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\Ad
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.application C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.application
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.exe C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.exe
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.pdb C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.pdb
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.csprojResolveAssemblyReference.cache
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.FrmAddRecord.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.FrmAdSpecialRegister.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.FrmDeleteRecord.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.FrmMain.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.FrmLogConsole.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.FrmManageAdItems.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.FrmModifyRecord.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.NewAddRecord.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.Properties.Resources.resources
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.csproj.GenerateResource.Cache
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\APCDatabase.accdb
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\AdvertsingProfitControl.exe.manifest
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\AdvertsingProfitControl.application
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\AdvertsingProfitControl.exe
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\AdvertsingProfitControl.pdb
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\HtmlRenderer.dll
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\HtmlRenderer.WinForms.dll
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\HtmlRenderer.pdb
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\bin\Debug\HtmlRenderer.WinForms.pdb
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.TrustInfo.xml
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.exe.manifest
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.application
@@ -50,7 +50,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms> </dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>OJ71svPIgpljDYB7Isp1dyJ+HAA2f5EAkzyTUGfVCPE=</dsig:DigestValue> <dsig:DigestValue>F+SMPqUABgZezUBIYj70xi9mrD6XzMo/h89+58pb5mM=</dsig:DigestValue>
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
@@ -78,6 +78,15 @@
</hash> </hash>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
<file name="APCDatabase.accdb" size="2932736">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>jHrcUaYXYq1n7JCrmyieXoxYIayP5Xf8FNLYAJKW198=</dsig:DigestValue>
</hash>
</file>
<file name="Stretched Logo Collection.ico" size="370070"> <file name="Stretched Logo Collection.ico" size="370070">
<hash> <hash>
<dsig:Transforms> <dsig:Transforms>