diff --git a/BealeEngineering/BealeEngineering.Core/Data/Database/Client/CreatePurchaseOrderAllocation.cs b/BealeEngineering/BealeEngineering.Core/Data/Database/Client/CreatePurchaseOrderAllocation.cs index a18cf9a..0517d86 100644 --- a/BealeEngineering/BealeEngineering.Core/Data/Database/Client/CreatePurchaseOrderAllocation.cs +++ b/BealeEngineering/BealeEngineering.Core/Data/Database/Client/CreatePurchaseOrderAllocation.cs @@ -17,7 +17,6 @@ namespace BealeEngineering.Core.Data.Database.Client public int ByDictionary(Dictionary saleInvoiceIdToPoLineId) { int rowsCreated = 0; - if (saleInvoiceIdToPoLineId == null || !saleInvoiceIdToPoLineId.Any()) { throw new Exception("No data passed to function."); diff --git a/BealeEngineering/BealeEngineering.Core/Data/Database/Client/ReadPurchaseOrderAllocation.cs b/BealeEngineering/BealeEngineering.Core/Data/Database/Client/ReadPurchaseOrderAllocation.cs index b730d88..d40c3f2 100644 --- a/BealeEngineering/BealeEngineering.Core/Data/Database/Client/ReadPurchaseOrderAllocation.cs +++ b/BealeEngineering/BealeEngineering.Core/Data/Database/Client/ReadPurchaseOrderAllocation.cs @@ -33,14 +33,14 @@ namespace BealeEngineering.Core.Data.Database.Client } } } - public List GetUnallocatedInvoiceId() + public List GetUnallocatedInvoice() { using (SqlConnection conn = new SqlConnection(sqlConnectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(@" - SELECT SaleInvoice.SaleInvoiceID + SELECT SaleInvoice.SaleInvoiceNumber FROM SaleInvoice LEFT OUTER JOIN ClientPurchaseOrderLineSalesInvoice ON SaleInvoice.SaleInvoiceID = ClientPurchaseOrderLineSalesInvoice.SaleInvoiceID WHERE (ClientPurchaseOrderLineSalesInvoice.SaleInvoiceID IS NULL) @@ -56,10 +56,10 @@ namespace BealeEngineering.Core.Data.Database.Client } else { - var returnList = new List(); + var returnList = new List(); while (reader.Read()) { - returnList.Add(reader.GetInt32(0)); + returnList.Add(reader.GetString(0)); } return returnList; } diff --git a/BealeEngineering/BealeEngineering.Core/Logic/Client/PurchaseOrderAutoAllocate.cs b/BealeEngineering/BealeEngineering.Core/Logic/Client/PurchaseOrderAutoAllocate.cs index 498a39e..f265e70 100644 --- a/BealeEngineering/BealeEngineering.Core/Logic/Client/PurchaseOrderAutoAllocate.cs +++ b/BealeEngineering/BealeEngineering.Core/Logic/Client/PurchaseOrderAutoAllocate.cs @@ -28,22 +28,23 @@ namespace BealeEngineering.Core.Logic.Client // get list of unallocated invoices var poAlloInstance = new Data.Database.Client.ReadPurchaseOrderAllocation(SqlConnectionString); - var invoiceIdList = poAlloInstance.GetUnallocatedInvoiceId(); + var invoiceNumberList = poAlloInstance.GetUnallocatedInvoice(); // nothing to allocate - if (invoiceIdList == null || !invoiceIdList.Any()) + if (invoiceNumberList == null || !invoiceNumberList.Any()) { IsComplete = true; return; } else { - InvoiceProcessed = invoiceIdList.Count(); + InvoiceProcessed = invoiceNumberList.Count(); } // get invoice header info - var invoiceInst = new Data.Database.Sale.ReadInvoiceHeader(SqlConnectionString); - var invoiceList = invoiceInst.GetBySaleInvoiceId(invoiceIdList); + var readInvoice = new Data.Database.Sale.ReadInvoiceHeader(SqlConnectionString); + readInvoice.InvoiceNumber = invoiceNumberList; + var invoiceList = readInvoice.GetByFilters(); // create lookup list for matching var lookupList = new List>(); @@ -72,10 +73,10 @@ namespace BealeEngineering.Core.Logic.Client //get client POs from db that match reference list var referenceList = new List(); foreach(var item in lookupList) { referenceList.Add(item.Item2); } - var poInstance = new Data.Database.Client.ReadPurchaseOrder(SqlConnectionString); - poInstance.Reference = referenceList.Distinct().ToList(); - poInstance.ReturnIsClosed = true; // <--------------------------------------------------change to false after - var clientPoList = poInstance.GetByFilters(); + var readPurchaseOrder = new Data.Database.Client.ReadPurchaseOrder(SqlConnectionString); + readPurchaseOrder.Reference = referenceList.Distinct().ToList(); + readPurchaseOrder.ReturnIsClosed = false; + var clientPoList = readPurchaseOrder.GetByFilters(); // create dictionary for matched items var invoiceIdToPoLineId = new Dictionary(); @@ -143,8 +144,8 @@ namespace BealeEngineering.Core.Logic.Client // update db table if (invoiceIdToPoLineId.Count > 0) { - var instance2 = new Data.Database.Client.CreatePurchaseOrderAllocation(SqlConnectionString); - InvoiceMatched = instance2.ByDictionary(invoiceIdToPoLineId); + var createAllocation = new Data.Database.Client.CreatePurchaseOrderAllocation(SqlConnectionString); + InvoiceMatched = createAllocation.ByDictionary(invoiceIdToPoLineId); } IsComplete = true; } diff --git a/BealeEngineering/BealeEngineering.Core/Test/AUtoexec.cs b/BealeEngineering/BealeEngineering.Core/Test/AUtoexec.cs index 9101fd3..1b78a8b 100644 --- a/BealeEngineering/BealeEngineering.Core/Test/AUtoexec.cs +++ b/BealeEngineering/BealeEngineering.Core/Test/AUtoexec.cs @@ -13,14 +13,12 @@ namespace BealeEngineering.Core.Test SqlConnectionString = sqlConnectionString; // enter method to start here - Import(); + ClientPurchaseOrder(); } private string SqlConnectionString { get; set; } - public void Invoice() + public void ClientPurchaseOrder() { - // thing you want to run from the form button - - var inst = new Core.Test.Sales.Invoice(SqlConnectionString); + var inst = new Test.Client.PurchaseOrder(SqlConnectionString); } public void Contact() { @@ -30,6 +28,12 @@ namespace BealeEngineering.Core.Test { var inst = new Test.Import.ImportFlatfile(SqlConnectionString); } + public void Invoice() + { + // thing you want to run from the form button + + var inst = new Core.Test.Sales.Invoice(SqlConnectionString); + } public void ValidateModel() { var inst = new Test.Sales.Invoice(SqlConnectionString); diff --git a/BealeEngineering/BealeEngineering.Core/Test/Client/PurchaseOrder.cs b/BealeEngineering/BealeEngineering.Core/Test/Client/PurchaseOrder.cs index 1be401c..b824491 100644 --- a/BealeEngineering/BealeEngineering.Core/Test/Client/PurchaseOrder.cs +++ b/BealeEngineering/BealeEngineering.Core/Test/Client/PurchaseOrder.cs @@ -8,17 +8,17 @@ namespace BealeEngineering.Core.Test.Client { public class PurchaseOrder { - public List PurchaseOrderIdList { get; set; } - public string SqlConnectionString { get; set; } public PurchaseOrder(string sqlConnectionString) { SqlConnectionString = sqlConnectionString; PurchaseOrderIdList = new List { 92, 17, 140 }; + + // method to start here + GetUnallocatedPo(); + } - public void Start() - { - GetPurchaseOrderById(); - } + public List PurchaseOrderIdList { get; set; } + public string SqlConnectionString { get; set; } public void GetPurchaseOrderById() { var inst = new Core.Data.Database.Client.ReadPurchaseOrder(SqlConnectionString); @@ -29,5 +29,10 @@ namespace BealeEngineering.Core.Test.Client var inst = new Logic.Client.PurchaseOrderAutoAllocate(SqlConnectionString); inst.Execute(); } + public void GetUnallocatedPo() + { + var readPoAllo = new Data.Database.Client.ReadPurchaseOrderAllocation(SqlConnectionString); + var test = readPoAllo.GetUnallocatedInvoice(); + } } }