コード例 #1
0
 public virtual void RemovePastOrders(PastOrder __item)
 {
     if (__item != null)
     {
         __item.Warehouse = null;
     }
 }
コード例 #2
0
 public virtual void InternalRemovePastOrders(PastOrder __item)
 {
     if (__item == null)
     {
         return;
     }
     pastOrders?.Remove(__item);
 }
コード例 #3
0
 public virtual void InternalAddPastOrders(PastOrder __item)
 {
     if (__item == null || disableInternalAdditions)
     {
         return;
     }
     pastOrders?.Add(__item);
 }
コード例 #4
0
 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"));
        }
コード例 #6
0
 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;
         }
     }
 }
コード例 #7
0
 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();
        }
コード例 #9
0
/// <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));
        }
コード例 #10
0
/// <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);
        }
コード例 #11
0
        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();
        }