From 9a27e4773c7bb0899782c6c9bfcfbf74a37ade5f Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 5 Jul 2022 14:01:43 +0000 Subject: [PATCH] --- AyaNovaQBI/AyaNovaQBI.csproj | 2 ++ AyaNovaQBI/Map.cs | 8 ++++---- AyaNovaQBI/PartInventory.cs | 34 ++++++++++++++++++++++++++++++-- AyaNovaQBI/PartStockLevel.cs | 11 +++++++++-- AyaNovaQBI/util.cs | 38 ++++++++++++++++++++++-------------- 5 files changed, 70 insertions(+), 23 deletions(-) diff --git a/AyaNovaQBI/AyaNovaQBI.csproj b/AyaNovaQBI/AyaNovaQBI.csproj index 46d4f11..4ae4dbd 100644 --- a/AyaNovaQBI/AyaNovaQBI.csproj +++ b/AyaNovaQBI/AyaNovaQBI.csproj @@ -128,6 +128,8 @@ + + diff --git a/AyaNovaQBI/Map.cs b/AyaNovaQBI/Map.cs index 69a1c7b..09b1bc6 100644 --- a/AyaNovaQBI/Map.cs +++ b/AyaNovaQBI/Map.cs @@ -131,7 +131,7 @@ namespace AyaNovaQBI break; case AyaType.ServiceRate: - await util.ImportQBServiceRate(QBItemId, alErrors); + await util.ImportQBServiceRate(QBItemId, alErrors); break; case AyaType.TravelRate: @@ -199,7 +199,7 @@ namespace AyaNovaQBI switch (_Type) { case AyaType.Customer: - util.ImportAyaCustomer(AyaId, alErrors); + await util.ImportAyaCustomer(AyaId, alErrors); break; case AyaType.Vendor: await util.ImportAyaVendor(AyaId, alErrors); @@ -207,7 +207,7 @@ namespace AyaNovaQBI case AyaType.ServiceRate: { if (firstPass) - { + { SetQBImportServiceRateAccounts s = new SetQBImportServiceRateAccounts(); if (s.ShowDialog() != DialogResult.OK) { @@ -217,7 +217,7 @@ namespace AyaNovaQBI s.Dispose(); firstPass = false; } - await util.ImportAyaServiceRate(AyaId, alErrors); + await util.ImportAyaServiceRate(AyaId, alErrors); } break; case AyaType.TravelRate: diff --git a/AyaNovaQBI/PartInventory.cs b/AyaNovaQBI/PartInventory.cs index 06dfb7a..0bacbc3 100644 --- a/AyaNovaQBI/PartInventory.cs +++ b/AyaNovaQBI/PartInventory.cs @@ -6,7 +6,37 @@ using System.Threading.Tasks; namespace AyaNovaQBI { - internal class PartInventory + public class PartInventory { - } + public long Id { get; set; } + public uint Concurrency { get; set; } + public string Description { get; set; } + public DateTime EntryDate { get; set; } + public DateTime? LastEntryDate { get; set; } + public long PartId { get; set; } + public string PartNameViz { get; set; } + public string PartDescriptionViz { get; set; } + public string PartUpcViz { get; set; } + public long PartWarehouseId { get; set; } + public string PartWarehouseViz { get; set; } + + public long? SourceId { get; set; } + public string SourceViz { get; set; } + public AyaType? SourceType { get; set; } + public string SourceTypeViz { get; set; } + + public decimal Quantity { get; set; } + public decimal Balance { get; set; } + public decimal? LastBalance { get; set; } + + + + public PartInventory() + { + EntryDate = DateTime.UtcNow; + } + + + + }//eoc } diff --git a/AyaNovaQBI/PartStockLevel.cs b/AyaNovaQBI/PartStockLevel.cs index daaa344..c4288b6 100644 --- a/AyaNovaQBI/PartStockLevel.cs +++ b/AyaNovaQBI/PartStockLevel.cs @@ -6,7 +6,14 @@ using System.Threading.Tasks; namespace AyaNovaQBI { - internal class PartStockLevel + public class PartStockLevel { - } + public long Id { get; set; } + public uint Concurrency { get; set; } + public long PartWarehouseId { get; set; } + public long PartId { get; set; } + public decimal MinimumQuantity { get; set; } + public string PartWarehouseDisplay { get; set; }//to display name in UI, not relevant to db or biz object + + }//eoc } diff --git a/AyaNovaQBI/util.cs b/AyaNovaQBI/util.cs index a7e7292..7444c79 100644 --- a/AyaNovaQBI/util.cs +++ b/AyaNovaQBI/util.cs @@ -5219,9 +5219,13 @@ namespace AyaNovaQBI if (USE_INVENTORY) { - PartInventoryValuesFetcher pbw = PartInventoryValuesFetcher.GetItem(c.ID); - ca.QuantityOnHand.SetValue((double)pbw.QuantityOnHand); - ca.ReorderPoint.SetValue((double)pbw.MinStockLevel); + var rstocklevel = await GetAsync($"part/stock-levels/{c.Id}"); + var partstocklevel= rstocklevel.ObjectResponse["data"].ToObject(); + var rinventorylevel = await GetAsync($"part/latest-inventory/{c.Id}"); + var partinventories = rstocklevel.ObjectResponse["data"].ToObject< List>(); + + ca.QuantityOnHand.SetValue((double)partinventories.Sum(z => z.Balance)); + ca.ReorderPoint.SetValue((double)partstocklevel.MinimumQuantity); } //------------------------ @@ -5270,13 +5274,16 @@ namespace AyaNovaQBI _dtQBItems.Rows.Add(dr); //Link - IntegrationMap m = QBI.Maps.Add(QBI); - m.Name = sName; - m.RootObjectID = c.ID; - m.RootObjectType = RootObjectTypes.Part; - m.LastSync = DateTime.Now; - m.ForeignID = sNewID; - QBI = (Integration)QBI.Save(); + var m = new IntegrationItem { AType = AyaType.Part, IntegrationItemName = sName, IntegrationItemId = sNewID, LastSync = DateTime.Now, ObjectId = c.Id }; + QBIntegration.Items.Add(m); + await util.SaveIntegrationObject(); + //IntegrationMap m = QBI.Maps.Add(QBI); + //m.Name = sName; + //m.RootObjectID = c.ID; + //m.RootObjectType = RootObjectTypes.Part; + //m.LastSync = DateTime.Now; + //m.ForeignID = sNewID; + //QBI = (Integration)QBI.Save(); } catch (Exception ex) { @@ -5306,19 +5313,20 @@ namespace AyaNovaQBI /// /// /// An arraylist to hold strings indicating errors on fail - public static void ImportAyaRate(Guid RateID, RatePickList ratelist, ArrayList alErrors) + public static async Task ImportAyaServiceRate(long RateID, ArrayList alErrors) { - if (!ratelist.Contains(RateID)) + if (!AyaServiceRateList.Any(z => z.Id == RateID)) { alErrors.Add("ImportAyaRate: Rate not found in AyaNova (deleted recently?) (" + RateID.ToString() + ")"); return; } - RatePickList.RatePickListInfo c = ratelist[RateID]; - - + // RatePickList.RatePickListInfo c = ratelist[RateID]; + var r = await GetAsync($"service-rate/{RateID}"); + var c = r.ObjectResponse["data"].ToObject(); + HERE string sName = c.Name; if (sName.Length > 31)