public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.InventoryItem> inventoryItems) { string message = ""; foreach (var invItem in inventoryItems ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.InventoryItem>()) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Warehouse: " + (invItem?.Warehouse?.Code ?? "")); if ((invItem?.Item == null || invItem?.Warehouse == null)) { message = message + (invItem?.Id ?? 0) + " ,"; continue; } var _var0 = invItem?.Item?.SKU; DSS1_RetailerDriverStockOptimisation.BO.Item existingItem = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Item>((s) => s.SKU == _var0)?.FirstOrDefault(); zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Item: " + (invItem?.Item?.SKU ?? "")); var _var1 = invItem?.Warehouse?.Code; DSS1_RetailerDriverStockOptimisation.BO.Warehouse existingWarehouse = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Warehouse>((w) => w.Code == _var1)?.FirstOrDefault(); if ((existingItem == null || existingWarehouse == null)) { message = message + (invItem?.Id ?? 0) + " ,"; continue; } DSS1_RetailerDriverStockOptimisation.BO.InventoryItem newInvItem = new DSS1_RetailerDriverStockOptimisation.BO.InventoryItem(); newInvItem.Warehouse = existingWarehouse; newInvItem.Item = existingItem; zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Status: " + (invItem?.Status ?? "")); newInvItem.Status = (invItem?.Status ?? ""); newInvItem.SafetyStock = (invItem?.SafetyStock ?? 0); new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.InventoryItem>(newInvItem); } if (((((message == null || message == "")) == false))) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Error message: " + message); return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Failed to import the entries with Ids " + message, "", "-1")); } return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All entries imported successfully.", "", "1")); }
public void Item_persistence_test() { DateTime now = DateTime.Now; // Get datetime without milliseconds now = new DateTime(now.Ticks - (now.Ticks % TimeSpan.TicksPerSecond), now.Kind); var _agreement_agreements_items = new DSS1_RetailerDriverStockOptimisation.BO.Agreement { FullTruckLoad = true, AgreementDocument = "Agreement_AgreementDocument", LeadTime = "Agreement_LeadTime", DateCreated = now, WDDeliveries = true, TargetInventoryDays = 4750, Profile = "Agreement_Profile", }; var _agreement_agreements_items2 = new DSS1_RetailerDriverStockOptimisation.BO.Agreement { FullTruckLoad = true, AgreementDocument = "Agreement_AgreementDocument", LeadTime = "Agreement_LeadTime", DateCreated = now, WDDeliveries = true, TargetInventoryDays = 6123, Profile = "Agreement_Profile", }; var _forecast_deliveryschedules_item = new DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule { LeadTime = 2384, Weekday = 2568, NameOfDay = "DeliverySchedule_NameOfDay", DBWeekday = 6397, }; var _forecast_deliveryschedules_item2 = new DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule { LeadTime = 8869, Weekday = 4507, NameOfDay = "DeliverySchedule_NameOfDay", DBWeekday = 5241, }; var _inventoryitem_inventoryitems_item = new DSS1_RetailerDriverStockOptimisation.BO.InventoryItem { CoverageDays = 4330, SafetyStock = 2511, Status = "InventoryItem_Status", }; var _inventoryitem_inventoryitems_item2 = new DSS1_RetailerDriverStockOptimisation.BO.InventoryItem { CoverageDays = 9286, SafetyStock = 1203, Status = "InventoryItem_Status", }; var _item_suppliercapacities_item = new DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity { DateOfStockUpdate = now, DailyProduction = 2651, Stock = 9044, }; var _item_suppliercapacities_item2 = new DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity { DateOfStockUpdate = now, DailyProduction = 5174, Stock = 8303, }; var _item_supplier_items = new DSS1_RetailerDriverStockOptimisation.BO.Supplier { Code = "Supplier_Code", Name = "Supplier_Name", }; var _item_businessunit_item = new DSS1_RetailerDriverStockOptimisation.BO.BusinessUnit { Number = 5353, Description = "BusinessUnit_Description", }; var _item_category_item = new DSS1_RetailerDriverStockOptimisation.BO.Category { Number = 6940, Description = "Category_Description", }; var _item_subcategory_item = new DSS1_RetailerDriverStockOptimisation.BO.SubCategory { Number = 2833, Description = "SubCategory_Description", }; var _item_baseunit_item = new DSS1_RetailerDriverStockOptimisation.BO.BaseUnit { Number = 988, Description = "BaseUnit_Description", }; var _minimumquantity_minimumquantity_item = new DSS1_RetailerDriverStockOptimisation.BO.MinimumQuantity { Country = "MinimumQuantity_Country", Quantity = 7287, }; var _notification_notifications_item = new DSS1_RetailerDriverStockOptimisation.BO.Notification { Message = "Notification_Message", TotalSupplierStock = 2248, OrderForecastQuantity = 4736, Diff = 1992, SalesForecastDate = now, CreatedBy = "Notification_CreatedBy", }; var _notification_notifications_item2 = new DSS1_RetailerDriverStockOptimisation.BO.Notification { Message = "Notification_Message", TotalSupplierStock = 9495, OrderForecastQuantity = 8902, Diff = 4283, SalesForecastDate = now, CreatedBy = "Notification_CreatedBy", }; var _pastorder_pastorders_item = new DSS1_RetailerDriverStockOptimisation.BO.PastOrder { OrderNumber = 9238, WrittenDate = now, NotBeforeDate = now, QuantityOrdered = 4814, ReceiveDate = now, QuantityReceived = 4466, Caller = "PastOrder_Caller", }; var _pastorder_pastorders_item2 = new DSS1_RetailerDriverStockOptimisation.BO.PastOrder { OrderNumber = 1424, WrittenDate = now, NotBeforeDate = now, QuantityOrdered = 4993, ReceiveDate = now, QuantityReceived = 246, Caller = "PastOrder_Caller", }; var _sale_itemsforecast_item = new DSS1_RetailerDriverStockOptimisation.BO.Sales { ForecastDate = now, Units = 1957, }; var _sale_itemsforecast_item2 = new DSS1_RetailerDriverStockOptimisation.BO.Sales { ForecastDate = now, Units = 1789, }; var _sla_slaleadtimes_item = new DSS1_RetailerDriverStockOptimisation.BO.SLALeadTime { AgreedLeadTime = 9208, RealLeadTime = 324, Percentage = 222222.22M, ItemDescription = "SLALeadTime_ItemDescription", DateFormatted = "SLALeadTime_DateFormatted", Threshold = 222222.22M, SLALeadDate = now, Month = 1777, MonthlyDelayed = 222222.22M, MontlhyOrders = 222222.22M, MonthlyPercentage = 222222.22M, }; var _sla_slaleadtimes_item2 = new DSS1_RetailerDriverStockOptimisation.BO.SLALeadTime { AgreedLeadTime = 5943, RealLeadTime = 7596, Percentage = 222222.22M, ItemDescription = "SLALeadTime_ItemDescription", DateFormatted = "SLALeadTime_DateFormatted", Threshold = 222222.22M, SLALeadDate = now, Month = 639, MonthlyDelayed = 222222.22M, MontlhyOrders = 222222.22M, MonthlyPercentage = 222222.22M, }; var _sla_sladeliveries_item = new DSS1_RetailerDriverStockOptimisation.BO.SLADelivery { OrderedQuantities = 222222.22M, DeliveredQuantities = 222222.22M, Percentage = 222222.22M, ItemDescription = "SLADelivery_ItemDescription", Threshold = 222222.22M, SLADate = now, DateFormatted = "SLADelivery_DateFormatted", Month = 396, }; var _sla_sladeliveries_item2 = new DSS1_RetailerDriverStockOptimisation.BO.SLADelivery { OrderedQuantities = 222222.22M, DeliveredQuantities = 222222.22M, Percentage = 222222.22M, ItemDescription = "SLADelivery_ItemDescription", Threshold = 222222.22M, SLADate = now, DateFormatted = "SLADelivery_DateFormatted", Month = 8494, }; var _stockonhand_stocksonhand_item = new DSS1_RetailerDriverStockOptimisation.BO.StockOnHand { Units = 5008, CurrentInventoryDays = 222222.22M, StockOnHandDate = now, LeadTime = "StockOnHand_LeadTime", TargetInventoryDays = 222222.22M, FullTrackLoad = true, WDDays = true, }; var _stockonhand_stocksonhand_item2 = new DSS1_RetailerDriverStockOptimisation.BO.StockOnHand { Units = 5380, CurrentInventoryDays = 222222.22M, StockOnHandDate = now, LeadTime = "StockOnHand_LeadTime", TargetInventoryDays = 222222.22M, FullTrackLoad = true, WDDays = true, }; new PersistenceSpecification <DSS1_RetailerDriverStockOptimisation.BO.Item>(Session) .CheckProperty(p => p.SKU, "e9a08b5a-a00f-45b3-a68b-adb86cb8602cItem_SKU") .CheckProperty(p => p.Description, "Item_Description") .CheckProperty(p => p.UPC, "Item_UPC") .CheckProperty(p => p.AvgDailyDemand, 222222.22M) .CheckProperty(p => p.PalletSize, 9011) .CheckProperty(p => p.SupplierPackSize, 9480) .CheckProperty(p => p.InnerPackSize, 7252) .CheckProperty(p => p.PalletType, "Item_PalletType") .CheckProperty(p => p.PalTI, 7518) .CheckProperty(p => p.PalHI, 4266) .CheckProperty(p => p.UOM, "Item_UOM") .CheckBag(p => p.Agreements, (new List <DSS1_RetailerDriverStockOptimisation.BO.Agreement> { _agreement_agreements_items, _agreement_agreements_items2 })) .CheckBag(p => p.DeliverySchedules, (new List <DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule> { _forecast_deliveryschedules_item, _forecast_deliveryschedules_item2 })) .CheckBag(p => p.InventoryItems, (new List <DSS1_RetailerDriverStockOptimisation.BO.InventoryItem> { _inventoryitem_inventoryitems_item, _inventoryitem_inventoryitems_item2 })) .CheckBag(p => p.SupplierCapacities, (new List <DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity> { _item_suppliercapacities_item, _item_suppliercapacities_item2 })) .CheckReference(p => p.Supplier, _item_supplier_items) .CheckReference(p => p.BusinessUnit, _item_businessunit_item) .CheckReference(p => p.Category, _item_category_item) .CheckReference(p => p.SubCategory, _item_subcategory_item) .CheckReference(p => p.BaseUnit, _item_baseunit_item) .CheckReference(p => p.MinimumQuantity, _minimumquantity_minimumquantity_item) .CheckBag(p => p.Notifications, (new List <DSS1_RetailerDriverStockOptimisation.BO.Notification> { _notification_notifications_item, _notification_notifications_item2 })) .CheckBag(p => p.PastOrders, (new List <DSS1_RetailerDriverStockOptimisation.BO.PastOrder> { _pastorder_pastorders_item, _pastorder_pastorders_item2 })) .CheckBag(p => p.ItemsForecast, (new List <DSS1_RetailerDriverStockOptimisation.BO.Sales> { _sale_itemsforecast_item, _sale_itemsforecast_item2 })) .CheckBag(p => p.SLALeadTimes, (new List <DSS1_RetailerDriverStockOptimisation.BO.SLALeadTime> { _sla_slaleadtimes_item, _sla_slaleadtimes_item2 })) .CheckBag(p => p.SLADeliveries, (new List <DSS1_RetailerDriverStockOptimisation.BO.SLADelivery> { _sla_sladeliveries_item, _sla_sladeliveries_item2 })) .CheckBag(p => p.StocksOnHand, (new List <DSS1_RetailerDriverStockOptimisation.BO.StockOnHand> { _stockonhand_stocksonhand_item, _stockonhand_stocksonhand_item2 })) .VerifyTheMappings(); }