Added the methods to insert and update invoice records in the database, as well as fixing a bug where the Invoice Notes would disappear on row validation.
This commit is contained in:
Binary file not shown.
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.OleDb;
|
using System.Data.OleDb;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AdvertsingProfitControl
|
namespace AdvertsingProfitControl
|
||||||
{
|
{
|
||||||
@@ -64,7 +65,7 @@ namespace AdvertsingProfitControl
|
|||||||
oleDbTransaction.Commit();
|
oleDbTransaction.Commit();
|
||||||
foreach (DataRow row in salesTable.Rows)
|
foreach (DataRow row in salesTable.Rows)
|
||||||
{
|
{
|
||||||
var rowId = RetrieveRowId(salesTable.TableName, int.Parse(row[6].ToString()), int.Parse(row[10].ToString()));
|
var rowId = RetrieveRowId(salesTable.TableName, int.Parse(row[6].ToString()), int.Parse(row[10].ToString()), int.Parse(salesTable.Rows[8].ToString()));
|
||||||
if (int.Parse(row[8].ToString()) != 0)
|
if (int.Parse(row[8].ToString()) != 0)
|
||||||
{
|
{
|
||||||
//Account for the ad special row.
|
//Account for the ad special row.
|
||||||
@@ -266,7 +267,7 @@ namespace AdvertsingProfitControl
|
|||||||
oleDbTransaction.Commit();
|
oleDbTransaction.Commit();
|
||||||
foreach (DataRow row in table.Rows)
|
foreach (DataRow row in table.Rows)
|
||||||
{
|
{
|
||||||
var rowId = RetrieveRowId(table.TableName, int.Parse(row[4].ToString()), int.Parse(row[8].ToString()));
|
var rowId = RetrieveRowId(table.TableName, int.Parse(row[4].ToString()), int.Parse(row[8].ToString()), int.Parse(table.Rows[6].ToString()));
|
||||||
if (int.Parse(row[6].ToString()) != 0)
|
if (int.Parse(row[6].ToString()) != 0)
|
||||||
{
|
{
|
||||||
//Account for the ad special row.
|
//Account for the ad special row.
|
||||||
@@ -358,7 +359,7 @@ namespace AdvertsingProfitControl
|
|||||||
oleDbTransaction.Commit();
|
oleDbTransaction.Commit();
|
||||||
foreach (DataRow row in table.Rows)
|
foreach (DataRow row in table.Rows)
|
||||||
{
|
{
|
||||||
var rowId = RetrieveRowId(table.TableName, int.Parse(row[4].ToString()), int.Parse(row[8].ToString()));
|
var rowId = RetrieveRowId(table.TableName, int.Parse(row[4].ToString()), int.Parse(row[8].ToString()), int.Parse(table.Rows[7].ToString()));
|
||||||
if (int.Parse(row[7].ToString()) != 0)
|
if (int.Parse(row[7].ToString()) != 0)
|
||||||
{
|
{
|
||||||
//Account for the ad special row.
|
//Account for the ad special row.
|
||||||
@@ -406,6 +407,123 @@ namespace AdvertsingProfitControl
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DbWriterStatus ProccessInvoiceTable(DataGridView table, int dateId, string connectionString)
|
||||||
|
{
|
||||||
|
var status = new DbWriterStatus();
|
||||||
|
var lastRowProcessed = 0;
|
||||||
|
var rowsAdded = new List<int>();
|
||||||
|
var oleDbConnection = new OleDbConnection(connectionString);
|
||||||
|
var oleDbCommand = new OleDbCommand
|
||||||
|
{
|
||||||
|
Connection = oleDbConnection
|
||||||
|
};
|
||||||
|
OleDbTransaction oleDbTransaction = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
oleDbConnection.Open();
|
||||||
|
oleDbTransaction = oleDbConnection.BeginTransaction();
|
||||||
|
oleDbCommand.Transaction = oleDbTransaction;
|
||||||
|
for (var i = 0; i < table.Rows.Count - 1; i++)
|
||||||
|
{
|
||||||
|
//Check to see if the row requires processing to start with.
|
||||||
|
if(!(bool) table.Rows[i].Cells[(int)InvoiceTableColumns.IsDirty].Value)
|
||||||
|
{
|
||||||
|
lastRowProcessed = i + 1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//Grab the supplier ID number before moving forward.
|
||||||
|
var supplierId = RetrieveSupplierId(
|
||||||
|
table.Rows[i].Cells[(int) InvoiceTableColumns.Supplier].EditedFormattedValue.ToString());
|
||||||
|
if (supplierId == 0)
|
||||||
|
{
|
||||||
|
status.SetErrorMessage("Failed to obtain supplier ID number for " + table.Rows[i].Cells[(int)InvoiceTableColumns.Supplier].EditedFormattedValue + ".");
|
||||||
|
status.SetStatus(WritingOperationStatus.Failed);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
//Check whether or not the row is already in the database by seeing if anything is in the ID number cell.
|
||||||
|
if (table.Rows[i].Cells[(int) InvoiceTableColumns.Id].EditedFormattedValue.ToString() == "")
|
||||||
|
{
|
||||||
|
//If the invoice doesn't exist in the database add it.
|
||||||
|
oleDbCommand.CommandText =
|
||||||
|
"INSERT INTO Invoice (InvoiceDate, InvoiceNumber, InvoiceNetAmountAtCost, InvoiceNetAmount, InvoiceNote, FK_Supplier, FK_DateID) VALUES(?,?,?,?,?,?,?)";
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceDate", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceDate].EditedFormattedValue.ToString());
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNumber", long.Parse(table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNumber].EditedFormattedValue.ToString()));
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmountAtCost", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmountAtCost].EditedFormattedValue.ToString() == "" ? 0 : double.Parse(table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmountAtCost].EditedFormattedValue.ToString()));
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmount", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue.ToString() == "" ? 0 : double.Parse(table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue.ToString()));
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNote", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNote].EditedFormattedValue.ToString());
|
||||||
|
oleDbCommand.Parameters.AddWithValue("FK_Supplier", supplierId);
|
||||||
|
oleDbCommand.Parameters.AddWithValue("FK_DateID", dateId);
|
||||||
|
oleDbCommand.ExecuteNonQuery();
|
||||||
|
oleDbCommand.Parameters.Clear();
|
||||||
|
rowsAdded.Add(i);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//If the invoice already exists in the database then simply update the record.
|
||||||
|
oleDbCommand.CommandText =
|
||||||
|
"UPDATE Invoice SET InvoiceDate = ?, InvoiceNumber = ?, InvoiceNetAmountAtCost = ?, InvoiceNetAmount = ?, InvoiceNote = ?, FK_Supplier = ?, FK_DateID = ? WHERE ID = ?";
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceDate", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceDate].EditedFormattedValue.ToString());
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNumber", long.Parse(table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNumber].EditedFormattedValue.ToString()));
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmountAtCost", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmountAtCost].EditedFormattedValue.ToString() == "" ? 0 : double.Parse(table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmountAtCost].EditedFormattedValue.ToString()));
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmount", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue.ToString() == "" ? 0 : double.Parse(table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue.ToString()));
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNote", table.Rows[i].Cells[(int)InvoiceTableColumns.InvoiceNote].EditedFormattedValue.ToString());
|
||||||
|
oleDbCommand.Parameters.AddWithValue("FK_Supplier", supplierId);
|
||||||
|
oleDbCommand.Parameters.AddWithValue("FK_DateID", dateId);
|
||||||
|
oleDbCommand.Parameters.AddWithValue("ID", int.Parse(table.Rows[i].Cells[(int)InvoiceTableColumns.Id].EditedFormattedValue.ToString()));
|
||||||
|
oleDbCommand.ExecuteNonQuery();
|
||||||
|
oleDbCommand.Parameters.Clear();
|
||||||
|
}
|
||||||
|
//Row index is only used to keep track of what row failed to update.
|
||||||
|
lastRowProcessed = i + 1;
|
||||||
|
}
|
||||||
|
oleDbTransaction.Commit();
|
||||||
|
foreach (DataGridViewRow row in table.Rows)
|
||||||
|
{
|
||||||
|
if (rowsAdded.Contains(row.Index))
|
||||||
|
{
|
||||||
|
var supplierId = RetrieveSupplierId(row.Cells[(int)InvoiceTableColumns.Supplier].EditedFormattedValue.ToString());
|
||||||
|
var invoiceIdNumber =
|
||||||
|
RetrieveInvoiceId(
|
||||||
|
row.Cells[(int)InvoiceTableColumns.InvoiceDate].EditedFormattedValue
|
||||||
|
.ToString(),
|
||||||
|
long.Parse(
|
||||||
|
row.Cells[(int)InvoiceTableColumns.InvoiceNumber].EditedFormattedValue
|
||||||
|
.ToString()), supplierId, dateId);
|
||||||
|
row.Cells[(int)InvoiceTableColumns.Id].Value = invoiceIdNumber;
|
||||||
|
}
|
||||||
|
row.Cells[(int)InvoiceTableColumns.IsDirty].Value = false;
|
||||||
|
}
|
||||||
|
table.RefreshEdit();
|
||||||
|
//Set the status.
|
||||||
|
status.SetStatus(WritingOperationStatus.InsertionSuccessful);
|
||||||
|
}
|
||||||
|
catch (OleDbException e)
|
||||||
|
{
|
||||||
|
status.SetStatus(WritingOperationStatus.Failed);
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error, "Failed to process the Invoice table: " + e.Message);
|
||||||
|
if (lastRowProcessed <= 0)
|
||||||
|
{
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error,
|
||||||
|
"Failed to begin parsing data rows, var dump of erroneous row unavailable.");
|
||||||
|
status.SetErrorMessage("Failed to begin parsing rows.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error, "Failed on row " + (lastRowProcessed + 1) + " due to the above error. Dumping contents of row " + (lastRowProcessed + 1) + " from Invoices.");
|
||||||
|
status.SetErrorMessage("Failed to write to the database on row " + (lastRowProcessed + 1) + ".");
|
||||||
|
}
|
||||||
|
oleDbTransaction?.Rollback();
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Critical, "Rollback completed successfully, Invoice table failed on update.");
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
oleDbConnection.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Inserts a new ad item into the database and returns the new item's ID number.
|
/// Inserts a new ad item into the database and returns the new item's ID number.
|
||||||
/// Supports rolling back as to not corrupt the database.
|
/// Supports rolling back as to not corrupt the database.
|
||||||
@@ -498,18 +616,20 @@ namespace AdvertsingProfitControl
|
|||||||
/// <param name="tableName">The name of the table to check for the row in.</param>
|
/// <param name="tableName">The name of the table to check for the row in.</param>
|
||||||
/// <param name="adItemId">The ID of the ad item in the row.</param>
|
/// <param name="adItemId">The ID of the ad item in the row.</param>
|
||||||
/// <param name="dateId">The ID of the date in the row.</param>
|
/// <param name="dateId">The ID of the date in the row.</param>
|
||||||
|
/// <param name="groupId">Ad Special ID of the row.</param>
|
||||||
/// <returns>The ID of the row, zero(0) if no rows are found.</returns>
|
/// <returns>The ID of the row, zero(0) if no rows are found.</returns>
|
||||||
private int RetrieveRowId(string tableName, int adItemId, int dateId)
|
private int RetrieveRowId(string tableName, int adItemId, int dateId, int groupId)
|
||||||
{
|
{
|
||||||
var id = 0;
|
var id = 0;
|
||||||
var rowsEffected = 0;
|
var rowsEffected = 0;
|
||||||
var oleDbCommand = new OleDbCommand
|
var oleDbCommand = new OleDbCommand
|
||||||
{
|
{
|
||||||
CommandText = "SELECT ID FROM " + tableName + " WHERE FK_AdItemID = ? AND FK_DateID = ?",
|
CommandText = "SELECT ID FROM " + tableName + " WHERE FK_AdItemID = ? AND FK_DateID = ? AND FK_AdSpecialGroupName = ?",
|
||||||
Connection = _oleDbConnection
|
Connection = _oleDbConnection
|
||||||
};
|
};
|
||||||
oleDbCommand.Parameters.AddWithValue("AdItemID", adItemId);
|
oleDbCommand.Parameters.AddWithValue("AdItemID", adItemId);
|
||||||
oleDbCommand.Parameters.AddWithValue("DateID", dateId);
|
oleDbCommand.Parameters.AddWithValue("DateID", dateId);
|
||||||
|
oleDbCommand.Parameters.AddWithValue("GroupID", groupId);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -525,7 +645,7 @@ namespace AdvertsingProfitControl
|
|||||||
if (rowsEffected > 1)
|
if (rowsEffected > 1)
|
||||||
{
|
{
|
||||||
_logConsole.WriteToLog(FrmLogConsole.Level.Error,
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error,
|
||||||
"Redundancy found row with the ad item ID " + adItemId + " with the date ID " + dateId + ".");
|
"Redundancy found row with the ad item ID " + adItemId + " with the date ID " + dateId + " and a group ID of " + groupId + ".");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (OleDbException e)
|
catch (OleDbException e)
|
||||||
@@ -537,6 +657,128 @@ namespace AdvertsingProfitControl
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Attempts to grab the supplier ID from the database.
|
||||||
|
/// If the name is not found it is added to the database
|
||||||
|
/// and the ID of the newly added supplier is returned.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="supplierName">The name of the supplier from whom the invoice is from.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private int RetrieveSupplierId(string supplierName)
|
||||||
|
{
|
||||||
|
var id = 0;
|
||||||
|
var rowsEffected = 0;
|
||||||
|
var oleDbCommand = new OleDbCommand
|
||||||
|
{
|
||||||
|
CommandText = "SELECT ID FROM Supplier WHERE SupplierName = ?",
|
||||||
|
Connection = _oleDbConnection
|
||||||
|
};
|
||||||
|
oleDbCommand.Parameters.AddWithValue("SupplierName", supplierName);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_oleDbConnection.Open();
|
||||||
|
var reader = oleDbCommand.ExecuteReader();
|
||||||
|
while (reader != null && reader.Read())
|
||||||
|
{
|
||||||
|
rowsEffected++;
|
||||||
|
int.TryParse(reader[0].ToString(), out id);
|
||||||
|
}
|
||||||
|
reader?.Close();
|
||||||
|
|
||||||
|
if (rowsEffected == 0)
|
||||||
|
{
|
||||||
|
//Attempt to add the supplier to the database.
|
||||||
|
oleDbCommand.Parameters.Clear();
|
||||||
|
oleDbCommand.CommandText = "INSERT INTO Supplier (SupplierName) VALUES (?)";
|
||||||
|
oleDbCommand.Parameters.AddWithValue("SupplierName", supplierName);
|
||||||
|
rowsEffected = oleDbCommand.ExecuteNonQuery();
|
||||||
|
if (rowsEffected == 1)
|
||||||
|
{
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Info, "Added the supplier '" + supplierName + "' to the database.");
|
||||||
|
}
|
||||||
|
//Now try grabbing the ID of the supplier that was just added.
|
||||||
|
oleDbCommand.Parameters.Clear();
|
||||||
|
oleDbCommand.CommandText = "SELECT ID FROM Supplier WHERE SupplierName = ?";
|
||||||
|
oleDbCommand.Parameters.AddWithValue("SupplierName", supplierName);
|
||||||
|
reader = oleDbCommand.ExecuteReader();
|
||||||
|
while (reader != null && reader.Read())
|
||||||
|
{
|
||||||
|
int.TryParse(reader[0].ToString(), out id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rowsEffected > 1)
|
||||||
|
{
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error,
|
||||||
|
"The supplier " + supplierName + " has multiple entries.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (OleDbException e)
|
||||||
|
{
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error,
|
||||||
|
"Failed to look up the existence of the supplier " + supplierName + ".");
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error, e.Message);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_oleDbConnection.Close();
|
||||||
|
}
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retrieves the ID number of the invoice with the specified Date, Number and date ID numbers.
|
||||||
|
/// Returns zero if now records are found.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="invoiceDate">The date on the invoice.</param>
|
||||||
|
/// <param name="invoiceNumber">The number for the invoice.</param>
|
||||||
|
/// <param name="supplierId">The supplier's ID number.</param>
|
||||||
|
/// <param name="dateId">The date ID number of the weekending date.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private int RetrieveInvoiceId(string invoiceDate, long invoiceNumber, int supplierId, int dateId)
|
||||||
|
{
|
||||||
|
var id = 0;
|
||||||
|
var rowsEffected = 0;
|
||||||
|
var oleDbCommand = new OleDbCommand
|
||||||
|
{
|
||||||
|
CommandText = "SELECT ID FROM Invoice WHERE InvoiceDate = ? AND InvoiceNumber = ? AND FK_Supplier = ? AND FK_DateID = ?",
|
||||||
|
Connection = _oleDbConnection
|
||||||
|
};
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceDate", invoiceDate);
|
||||||
|
oleDbCommand.Parameters.AddWithValue("InvoiceNumber", invoiceNumber);
|
||||||
|
oleDbCommand.Parameters.AddWithValue("FK_Supplier", supplierId);
|
||||||
|
oleDbCommand.Parameters.AddWithValue("DateID", dateId);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_oleDbConnection.Open();
|
||||||
|
var reader = oleDbCommand.ExecuteReader();
|
||||||
|
while (reader != null && reader.Read())
|
||||||
|
{
|
||||||
|
rowsEffected++;
|
||||||
|
int.TryParse(reader[0].ToString(), out id);
|
||||||
|
}
|
||||||
|
reader?.Close();
|
||||||
|
|
||||||
|
if (rowsEffected > 1)
|
||||||
|
{
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error,
|
||||||
|
"Redundancy found row with the ad item ID with the date ID " + dateId + ".");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (OleDbException e)
|
||||||
|
{
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error,
|
||||||
|
"Failed to look up the existence of an invoice with the number of " + invoiceNumber +
|
||||||
|
" and a date of " + invoiceDate + ".");
|
||||||
|
_logConsole.WriteToLog(FrmLogConsole.Level.Error, e.Message);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_oleDbConnection.Close();
|
||||||
|
}
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
//10 to 1 ratio of tries to code
|
//10 to 1 ratio of tries to code
|
||||||
|
|||||||
@@ -112,8 +112,9 @@ namespace AdvertsingProfitControl
|
|||||||
{
|
{
|
||||||
var dataGridView = (DataGridView) sender;
|
var dataGridView = (DataGridView) sender;
|
||||||
if (dataGridView.Rows[e.RowIndex].IsNewRow) return;
|
if (dataGridView.Rows[e.RowIndex].IsNewRow) return;
|
||||||
|
DateTime dateTime;
|
||||||
//Check to make sure the Invoice Date, Invoice Number and the Supplier values are set.
|
//Check to make sure the Invoice Date, Invoice Number and the Supplier values are set.
|
||||||
if (dataGridView.Rows[e.RowIndex].Cells[(int) InvoiceTableColumns.InvoiceDate].EditedFormattedValue.ToString() == "")
|
if (dataGridView.Rows[e.RowIndex].Cells[(int) InvoiceTableColumns.InvoiceDate].EditedFormattedValue.ToString() == "" || !DateTime.TryParse(dataGridView.Rows[e.RowIndex].Cells[(int)InvoiceTableColumns.InvoiceDate].EditedFormattedValue.ToString(), out dateTime))
|
||||||
{
|
{
|
||||||
MessageBox.Show(@"An invoice date must be specified.", @"Invalid Invoice Date", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(@"An invoice date must be specified.", @"Invalid Invoice Date", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
@@ -228,6 +229,9 @@ namespace AdvertsingProfitControl
|
|||||||
dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = "A Supplier is Required";
|
dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = "A Supplier is Required";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case (int)InvoiceTableColumns.InvoiceNote:
|
||||||
|
dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = userInput;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
//Should only process the InvoiceNetAmountAtCost and InvoiceNetAmount columns.
|
//Should only process the InvoiceNetAmountAtCost and InvoiceNetAmount columns.
|
||||||
if (e.ColumnIndex != (int) InvoiceTableColumns.Id &&
|
if (e.ColumnIndex != (int) InvoiceTableColumns.Id &&
|
||||||
@@ -243,6 +247,7 @@ namespace AdvertsingProfitControl
|
|||||||
{
|
{
|
||||||
//Since the input is a number format it to show the cents and display it.
|
//Since the input is a number format it to show the cents and display it.
|
||||||
dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = Math.Round(parsedNumber, 2).ToString("N", new CultureInfo("en-US"));
|
dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = Math.Round(parsedNumber, 2).ToString("N", new CultureInfo("en-US"));
|
||||||
|
//dataGridView.RefreshEdit();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1719,6 +1724,12 @@ namespace AdvertsingProfitControl
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!ProcessTrimmingStatusResult(actualSalesDataGridView, "ActualSales", operationStatus, trimmedTable, updateTable)) return;
|
if (!ProcessTrimmingStatusResult(actualSalesDataGridView, "ActualSales", operationStatus, trimmedTable, updateTable)) return;
|
||||||
|
//Commit the Invoice table to the database.
|
||||||
|
var writerStatus = dbW.ProccessInvoiceTable(invoicesDataGridView, dateId, dbT.DatabaseConnectionString);
|
||||||
|
if (writerStatus.GetWritingOperationStatus() != WritingOperationStatus.Failed)
|
||||||
|
{
|
||||||
|
errorLabel.Text = writerStatus.GetErrorMessage();
|
||||||
|
}
|
||||||
informationLabel.Text = @"All operations completed successfully.";
|
informationLabel.Text = @"All operations completed successfully.";
|
||||||
//Create the transaction scope.
|
//Create the transaction scope.
|
||||||
//By default the TransactionScopeOption is "Required", so if an ambient transaction does not
|
//By default the TransactionScopeOption is "Required", so if an ambient transaction does not
|
||||||
@@ -2251,7 +2262,6 @@ namespace AdvertsingProfitControl
|
|||||||
dataGridView.Rows[rowIndex.Key - 1].Cells[(int)SalesTableColumns.IsDirty].Value = false;
|
dataGridView.Rows[rowIndex.Key - 1].Cells[(int)SalesTableColumns.IsDirty].Value = false;
|
||||||
}
|
}
|
||||||
informationLabel.Text += Environment.NewLine + tableName + @" table successfully added to the database.";
|
informationLabel.Text += Environment.NewLine + tableName + @" table successfully added to the database.";
|
||||||
successful = true;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2274,7 +2284,6 @@ namespace AdvertsingProfitControl
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
errorLabel.Text = @"Failed to update the " + trimmedTable + @" table.";
|
errorLabel.Text = @"Failed to update the " + trimmedTable + @" table.";
|
||||||
successful = false;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
|
|
||||||
<assemblyIdentity name="AdvertsingProfitControl.application" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
|
||||||
<description asmv2:publisher="AdvertsingProfitControl" asmv2:product="AdvertsingProfitControl" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
|
||||||
<deployment install="true" mapFileExtensions="true" />
|
|
||||||
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
|
|
||||||
<framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" />
|
|
||||||
</compatibleFrameworks>
|
|
||||||
<dependency>
|
|
||||||
<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" />
|
|
||||||
<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>b+dnpfYfjG4ZhWDVMNt4VWQJIitMpgUqU/izPcTmc9E=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
</asmv1:assembly>
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
|
|
||||||
<asmv1:assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" />
|
|
||||||
<description asmv2:iconFile="Stretched Logo Collection.ico" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
|
||||||
<application />
|
|
||||||
<entryPoint>
|
|
||||||
<assemblyIdentity name="AdvertsingProfitControl" version="0.9.5.2" language="neutral" processorArchitecture="amd64" />
|
|
||||||
<commandLine file="AdvertsingProfitControl.exe" parameters="" />
|
|
||||||
</entryPoint>
|
|
||||||
<trustInfo>
|
|
||||||
<security>
|
|
||||||
<applicationRequestMinimum>
|
|
||||||
<PermissionSet version="1" class="System.Security.NamedPermissionSet" Name="LocalIntranet" Description="Default rights given to applications on the local intranet" Unrestricted="true" ID="Custom" SameSite="site" />
|
|
||||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
|
||||||
</applicationRequestMinimum>
|
|
||||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
||||||
<!-- UAC Manifest Options
|
|
||||||
If you want to change the Windows User Account Control level replace the
|
|
||||||
requestedExecutionLevel node with one of the following.
|
|
||||||
|
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
|
||||||
|
|
||||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
|
||||||
Remove this element if your application requires this virtualization for backwards
|
|
||||||
compatibility.
|
|
||||||
-->
|
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
|
||||||
</requestedPrivileges>
|
|
||||||
</security>
|
|
||||||
</trustInfo>
|
|
||||||
<dependency>
|
|
||||||
<dependentOS>
|
|
||||||
<osVersionInfo>
|
|
||||||
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
|
|
||||||
</osVersionInfo>
|
|
||||||
</dependentOS>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
|
|
||||||
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AdvertsingProfitControl.exe" size="3522560">
|
|
||||||
<assemblyIdentity name="AdvertsingProfitControl" version="0.9.5.2" language="neutral" processorArchitecture="amd64" />
|
|
||||||
<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>C6TdhIcXFKDjcoa3VS25QEYS1igSVlAG0W3BGBQN3Vw=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="HtmlRenderer.dll" size="221696">
|
|
||||||
<assemblyIdentity name="HtmlRenderer" version="1.5.0.5" language="neutral" processorArchitecture="msil" />
|
|
||||||
<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>24PfjnyHf/sJFsFMmtbTH9TCfKqM9w/ueA9v7hWoFkA=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="HtmlRenderer.WinForms.dll" size="60416">
|
|
||||||
<assemblyIdentity name="HtmlRenderer.WinForms" version="1.5.0.6" language="neutral" processorArchitecture="msil" />
|
|
||||||
<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>WF/zxFwKgeKM8FANZnlU0EY/IhL18w1Px1iKE75KJWM=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</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>heLBQIYVVS62s1jc7c8ySCJryJ3KAmItGoYKY1zxkCg=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</file>
|
|
||||||
<file name="Stretched Logo Collection.ico" size="370070">
|
|
||||||
<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>EhpcVkhatavmpmzYIlqLL5P0WB1QFP8mU66foV/5u+c=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</file>
|
|
||||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
|
||||||
<application>
|
|
||||||
<!-- A list of the Windows versions that this application has been tested on and is
|
|
||||||
is designed to work with. Uncomment the appropriate elements and Windows will
|
|
||||||
automatically selected the most compatible environment. -->
|
|
||||||
<!-- Windows Vista -->
|
|
||||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
|
||||||
<!-- Windows 7 -->
|
|
||||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
|
||||||
<!-- Windows 8 -->
|
|
||||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
|
||||||
<!-- Windows 8.1 -->
|
|
||||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
|
||||||
<!-- Windows 10 -->
|
|
||||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
|
||||||
</application>
|
|
||||||
</compatibility>
|
|
||||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
||||||
<windowsSettings>
|
|
||||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
|
|
||||||
</windowsSettings>
|
|
||||||
</application>
|
|
||||||
</asmv1:assembly>
|
|
||||||
@@ -14,7 +14,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>b+dnpfYfjG4ZhWDVMNt4VWQJIitMpgUqU/izPcTmc9E=</dsig:DigestValue>
|
<dsig:DigestValue>uNpKtKGgY3WdCqpTJARuduXQEnYHDum4naMxK2seAZY=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|||||||
@@ -43,26 +43,26 @@
|
|||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AdvertsingProfitControl.exe" size="3522560">
|
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AdvertsingProfitControl.exe" size="3527680">
|
||||||
<assemblyIdentity name="AdvertsingProfitControl" version="0.9.5.2" language="neutral" processorArchitecture="amd64" />
|
<assemblyIdentity name="AdvertsingProfitControl" version="0.9.5.2" language="neutral" processorArchitecture="amd64" />
|
||||||
<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>C6TdhIcXFKDjcoa3VS25QEYS1igSVlAG0W3BGBQN3Vw=</dsig:DigestValue>
|
<dsig:DigestValue>miQ8SvKSYPgPCR7wkH2br43baRyA6z3qxRB6jWLSEB4=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="HtmlRenderer.dll" size="221696">
|
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="HtmlRenderer.dll" size="222208">
|
||||||
<assemblyIdentity name="HtmlRenderer" version="1.5.0.5" language="neutral" processorArchitecture="msil" />
|
<assemblyIdentity name="HtmlRenderer" version="1.5.0.6" language="neutral" processorArchitecture="msil" />
|
||||||
<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>24PfjnyHf/sJFsFMmtbTH9TCfKqM9w/ueA9v7hWoFkA=</dsig:DigestValue>
|
<dsig:DigestValue>VGr+ZzYUr4vMefSbFien3axjDZd7ylgpjfrMKI12ink=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
@@ -84,7 +84,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>heLBQIYVVS62s1jc7c8ySCJryJ3KAmItGoYKY1zxkCg=</dsig:DigestValue>
|
<dsig:DigestValue>L1S1NQ/iZ4fotWtEDbVeoia76lgWuMUfQqouemtj2z0=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</file>
|
</file>
|
||||||
<file name="Stretched Logo Collection.ico" size="370070">
|
<file name="Stretched Logo Collection.ico" size="370070">
|
||||||
|
|||||||
Binary file not shown.
BIN
Binary file not shown.
@@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><trustInfo xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"><security><applicationRequestMinimum><PermissionSet version="1" class="System.Security.NamedPermissionSet" Name="LocalIntranet" Description="Default rights given to applications on the local intranet" Unrestricted="true" ID="Custom" SameSite="site" /><defaultAssemblyRequest permissionSetReference="Custom" /></applicationRequestMinimum><requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"><!-- UAC Manifest Options
|
|
||||||
If you want to change the Windows User Account Control level replace the
|
|
||||||
requestedExecutionLevel node with one of the following.
|
|
||||||
|
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
|
||||||
|
|
||||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
|
||||||
Remove this element if your application requires this virtualization for backwards
|
|
||||||
compatibility.
|
|
||||||
--><requestedExecutionLevel level="asInvoker" uiAccess="false" /></requestedPrivileges></security></trustInfo>
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
|
|
||||||
<assemblyIdentity name="AdvertsingProfitControl.application" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
|
||||||
<description asmv2:publisher="AdvertsingProfitControl" asmv2:product="AdvertsingProfitControl" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
|
||||||
<deployment install="true" mapFileExtensions="true" />
|
|
||||||
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
|
|
||||||
<framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" />
|
|
||||||
</compatibleFrameworks>
|
|
||||||
<dependency>
|
|
||||||
<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" />
|
|
||||||
<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>b+dnpfYfjG4ZhWDVMNt4VWQJIitMpgUqU/izPcTmc9E=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
</asmv1:assembly>
|
|
||||||
@@ -163,28 +163,3 @@ C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\Ad
|
|||||||
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.TrustInfo.xml
|
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.TrustInfo.xml
|
||||||
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.exe.manifest
|
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\AdvertsingProfitControl\obj\Debug\AdvertsingProfitControl.exe.manifest
|
||||||
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.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
|
|
||||||
|
|||||||
@@ -1,121 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
|
|
||||||
<asmv1:assemblyIdentity name="AdvertsingProfitControl.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="amd64" type="win32" />
|
|
||||||
<description asmv2:iconFile="Stretched Logo Collection.ico" xmlns="urn:schemas-microsoft-com:asm.v1" />
|
|
||||||
<application />
|
|
||||||
<entryPoint>
|
|
||||||
<assemblyIdentity name="AdvertsingProfitControl" version="0.9.5.2" language="neutral" processorArchitecture="amd64" />
|
|
||||||
<commandLine file="AdvertsingProfitControl.exe" parameters="" />
|
|
||||||
</entryPoint>
|
|
||||||
<trustInfo>
|
|
||||||
<security>
|
|
||||||
<applicationRequestMinimum>
|
|
||||||
<PermissionSet version="1" class="System.Security.NamedPermissionSet" Name="LocalIntranet" Description="Default rights given to applications on the local intranet" Unrestricted="true" ID="Custom" SameSite="site" />
|
|
||||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
|
||||||
</applicationRequestMinimum>
|
|
||||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
||||||
<!-- UAC Manifest Options
|
|
||||||
If you want to change the Windows User Account Control level replace the
|
|
||||||
requestedExecutionLevel node with one of the following.
|
|
||||||
|
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
|
||||||
|
|
||||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
|
||||||
Remove this element if your application requires this virtualization for backwards
|
|
||||||
compatibility.
|
|
||||||
-->
|
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
|
||||||
</requestedPrivileges>
|
|
||||||
</security>
|
|
||||||
</trustInfo>
|
|
||||||
<dependency>
|
|
||||||
<dependentOS>
|
|
||||||
<osVersionInfo>
|
|
||||||
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
|
|
||||||
</osVersionInfo>
|
|
||||||
</dependentOS>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
|
|
||||||
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AdvertsingProfitControl.exe" size="3522560">
|
|
||||||
<assemblyIdentity name="AdvertsingProfitControl" version="0.9.5.2" language="neutral" processorArchitecture="amd64" />
|
|
||||||
<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>C6TdhIcXFKDjcoa3VS25QEYS1igSVlAG0W3BGBQN3Vw=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="HtmlRenderer.dll" size="221696">
|
|
||||||
<assemblyIdentity name="HtmlRenderer" version="1.5.0.5" language="neutral" processorArchitecture="msil" />
|
|
||||||
<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>24PfjnyHf/sJFsFMmtbTH9TCfKqM9w/ueA9v7hWoFkA=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="HtmlRenderer.WinForms.dll" size="60416">
|
|
||||||
<assemblyIdentity name="HtmlRenderer.WinForms" version="1.5.0.6" language="neutral" processorArchitecture="msil" />
|
|
||||||
<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>WF/zxFwKgeKM8FANZnlU0EY/IhL18w1Px1iKE75KJWM=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</dependentAssembly>
|
|
||||||
</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>heLBQIYVVS62s1jc7c8ySCJryJ3KAmItGoYKY1zxkCg=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</file>
|
|
||||||
<file name="Stretched Logo Collection.ico" size="370070">
|
|
||||||
<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>EhpcVkhatavmpmzYIlqLL5P0WB1QFP8mU66foV/5u+c=</dsig:DigestValue>
|
|
||||||
</hash>
|
|
||||||
</file>
|
|
||||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
|
||||||
<application>
|
|
||||||
<!-- A list of the Windows versions that this application has been tested on and is
|
|
||||||
is designed to work with. Uncomment the appropriate elements and Windows will
|
|
||||||
automatically selected the most compatible environment. -->
|
|
||||||
<!-- Windows Vista -->
|
|
||||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
|
||||||
<!-- Windows 7 -->
|
|
||||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
|
||||||
<!-- Windows 8 -->
|
|
||||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
|
||||||
<!-- Windows 8.1 -->
|
|
||||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
|
||||||
<!-- Windows 10 -->
|
|
||||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
|
||||||
</application>
|
|
||||||
</compatibility>
|
|
||||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
||||||
<windowsSettings>
|
|
||||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
|
|
||||||
</windowsSettings>
|
|
||||||
</application>
|
|
||||||
</asmv1:assembly>
|
|
||||||
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<configuration>
|
|
||||||
<startup>
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
|
||||||
</startup>
|
|
||||||
</configuration>
|
|
||||||
Binary file not shown.
BIN
Binary file not shown.
@@ -16,12 +16,3 @@ C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\St
|
|||||||
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csproj.GenerateResource.Cache
|
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csproj.GenerateResource.Cache
|
||||||
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.exe
|
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.exe
|
||||||
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.pdb
|
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.pdb
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.exe.config
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.exe
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.pdb
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csprojResolveAssemblyReference.cache
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.Form1.resources
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.Properties.Resources.resources
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csproj.GenerateResource.Cache
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.exe
|
|
||||||
C:\Users\Crypto\Documents\Source Control\AdvertisingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.pdb
|
|
||||||
|
|||||||
Reference in New Issue
Block a user