public virtual void RemovePastOrders(PastOrder __item) { if (__item != null) { __item.Warehouse = null; } }
public virtual void InternalRemovePastOrders(PastOrder __item) { if (__item == null) { return; } pastOrders?.Remove(__item); }
public virtual void InternalAddPastOrders(PastOrder __item) { if (__item == null || disableInternalAdditions) { return; } pastOrders?.Add(__item); }
public virtual void AddPastOrders(PastOrder __item) { if (__item == null) { return; } if (__item.Warehouse != this) { __item.Warehouse = this; } }
public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.PastOrder> pOrders) { string message = ""; foreach (var pOrder in pOrders ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.PastOrder>()) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Caller : " + (pOrder?.Caller ?? "")); if ((pOrder?.Item == null || pOrder?.Warehouse == null)) { message = message + (pOrder?.Id ?? 0) + " ,"; continue; } var _var0 = pOrder?.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: " + (pOrder?.Item?.SKU ?? "")); var _var1 = pOrder?.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 + (pOrder?.Id ?? 0) + " ,"; continue; } DSS1_RetailerDriverStockOptimisation.BO.PastOrder newPastOrder = new DSS1_RetailerDriverStockOptimisation.BO.PastOrder(); newPastOrder.Warehouse = existingWarehouse; newPastOrder.Item = existingItem; newPastOrder.OrderNumber = (pOrder?.OrderNumber ?? 0); newPastOrder.WrittenDate = (pOrder?.WrittenDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value); newPastOrder.NotBeforeDate = (pOrder?.NotBeforeDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value); if ((pOrder?.Caller == "Vitacress" || pOrder?.Caller == "Schreiber")) { int?supPack = (existingItem?.SupplierPackSize ?? 0); newPastOrder.QuantityOrdered = (int)((supPack.GetValueOrDefault(0) * (pOrder?.QuantityOrdered ?? 0))); newPastOrder.QuantityReceived = (int)((supPack.GetValueOrDefault(0) * (pOrder?.QuantityReceived ?? 0))); } else { newPastOrder.QuantityOrdered = (pOrder?.QuantityOrdered ?? 0); newPastOrder.QuantityReceived = (pOrder?.QuantityReceived ?? 0); } newPastOrder.ReceiveDate = (pOrder?.ReceiveDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value); new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.PastOrder>(newPastOrder); } 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 virtual void SetPastOrdersAt(PastOrder __item, int __index) { if (__item == null) { pastOrders[__index].Warehouse = null; } else { pastOrders[__index] = __item; if (__item.Warehouse != this) { __item.Warehouse = this; } } }
public virtual void AddAtIndexPastOrders(int index, PastOrder __item) { if (__item == null) { return; } pastOrders?.Insert(index, __item); disableInternalAdditions = true; try { if (__item.Warehouse != this) { __item.Warehouse = this; } } finally { disableInternalAdditions = false; } }
public void Warehouse_persistence_test() { DateTime now = DateTime.Now; // Get datetime without milliseconds now = new DateTime(now.Ticks - (now.Ticks % TimeSpan.TicksPerSecond), now.Kind); var _pastorder_pastorders_warehouse = new DSS1_RetailerDriverStockOptimisation.BO.PastOrder { OrderNumber = 5952, WrittenDate = now, NotBeforeDate = now, QuantityOrdered = 2937, ReceiveDate = now, QuantityReceived = 4933, Caller = "PastOrder_Caller", }; var _pastorder_pastorders_warehouse2 = new DSS1_RetailerDriverStockOptimisation.BO.PastOrder { OrderNumber = 8441, WrittenDate = now, NotBeforeDate = now, QuantityOrdered = 4468, ReceiveDate = now, QuantityReceived = 7069, Caller = "PastOrder_Caller", }; new PersistenceSpecification <DSS1_RetailerDriverStockOptimisation.BO.Warehouse>(Session) .CheckProperty(p => p.Code, "Warehouse_Code") .CheckProperty(p => p.Description, "Warehouse_Description") .CheckProperty(p => p.FlowType, "Warehouse_FlowType") .CheckBag(p => p.PastOrders, (new List <DSS1_RetailerDriverStockOptimisation.BO.PastOrder> { _pastorder_pastorders_warehouse, _pastorder_pastorders_warehouse2 })) .VerifyTheMappings(); }
/// <summary> /// Returns true if self and the provided entity have the same Id values /// and the Ids are not of the default Id value /// </summary> protected bool HasSameNonDefaultIdAs(PastOrder compareTo) { return(!this.IsTransient() && !compareTo.IsTransient() && this.Id.Equals(compareTo.Id)); }
/// <summary> /// Copies the current object to a new instance /// </summary> /// <param name="deep">Copy members that refer to objects external to this class (not dependent)</param> /// <param name="copiedObjects">Objects that should be reused</param> /// <param name="asNew">Copy the current object as a new one, ready to be persisted, along all its members.</param> /// <param name="reuseNestedObjects">If asNew is true, this flag if set, forces the reuse of all external objects.</param> /// <param name="copy">Optional - An existing [PastOrder] instance to use as the destination.</param> /// <returns>A copy of the object</returns> public virtual PastOrder Copy(bool deep = false, Hashtable copiedObjects = null, bool asNew = false, bool reuseNestedObjects = false, PastOrder copy = null) { if (copiedObjects == null) { copiedObjects = new Hashtable(); } if (copy == null && copiedObjects.Contains(this)) { return((PastOrder)copiedObjects[this]); } copy = copy ?? new PastOrder(); if (!asNew) { copy.TransientId = this.TransientId; copy.Id = this.Id; } copy.OrderNumber = this.OrderNumber; copy.WrittenDate = this.WrittenDate; copy.NotBeforeDate = this.NotBeforeDate; copy.QuantityOrdered = this.QuantityOrdered; copy.ReceiveDate = this.ReceiveDate; copy.QuantityReceived = this.QuantityReceived; copy.Caller = this.Caller; if (!copiedObjects.Contains(this)) { copiedObjects.Add(this, copy); } if (deep && this.item != null) { if (!copiedObjects.Contains(this.item)) { if (asNew && reuseNestedObjects) { copy.Item = this.Item; } else if (asNew) { copy.Item = this.Item.Copy(deep, copiedObjects, true); } else { copy.item = this.item.Copy(deep, copiedObjects, false); } } else { if (asNew) { copy.Item = (Item)copiedObjects[this.Item]; } else { copy.item = (Item)copiedObjects[this.Item]; } } } if (deep && this.warehouse != null) { if (!copiedObjects.Contains(this.warehouse)) { if (asNew && reuseNestedObjects) { copy.Warehouse = this.Warehouse; } else if (asNew) { copy.Warehouse = this.Warehouse.Copy(deep, copiedObjects, true); } else { copy.warehouse = this.warehouse.Copy(deep, copiedObjects, false); } } else { if (asNew) { copy.Warehouse = (Warehouse)copiedObjects[this.Warehouse]; } else { copy.warehouse = (Warehouse)copiedObjects[this.Warehouse]; } } } return(copy); }
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(); }