private void SaveDataFiles() { StaticInventoryTracker.SaveDefaults(); StaticFactoryValuesManager.SaveValues(); if (schedule != null) { schedule.Save(); } }
public void AddPastSaleTestAdd12MonthsAgo() { ProductMasterItem master = new ProductMasterItem(1, "TestMaster01", "Testing master item", 48, 92, .5, "OM", 40, 50, "", true, "", "", 0, 0, 0, 0); StaticInventoryTracker.ProductMasterList.Add(master); StaticInventoryTracker.AddPastSale(1, DateTime.Today.AddDays(-DateTime.Today.Day).AddMonths(-12), 100); // item should be added Assert.AreEqual(StaticInventoryTracker.ForecastItems.Count, 1); }
public void AddPastSaleTestDontAddCurrentMonth() { ProductMasterItem master = new ProductMasterItem(1, "TestMaster01", "Testing master item", 48, 92, .5, "OM", 40, 50, "", true, "", "", 0, 0, 0, 0); StaticInventoryTracker.ProductMasterList.Add(master); StaticInventoryTracker.AddPastSale(1, DateTime.Today, 100); // item should not be added Assert.AreEqual(StaticInventoryTracker.ForecastItems.Count, 0); }
private void LoadDataFiles() { StaticInventoryTracker.LoadDefaults(); StaticFactoryValuesManager.LoadValues(true); var loadschedule = CoatingSchedule.Load(); if (loadschedule != null) { schedule = loadschedule; } }
public void AddProductionToInventory() { foreach (var pressMasterItem in Produced) { double units = pressMasterItem.UnitsMade; ProductMasterItem item = pressMasterItem.MasterItem; InventoryItem inventoryItem = StaticInventoryTracker.AllInventoryItems.FirstOrDefault(x => x.MasterID == item.MasterID && x.Grade == "WiP"); if (inventoryItem != null) { inventoryItem.AddUnits(units); } else { StaticInventoryTracker.AddInventory(item.ProductionCode, item.PiecesPerUnit, units, "WiP", item.MasterID); } } }
public void ComputeInvChange() { // ask user how much was made UnitChangeWindow window = new UnitChangeWindow(Product.ProductCode, Product.Units); window.ShowDialog(); // get expected units double unitsExpected = Double.Parse(Product.Units); // add the change to tracker StaticInventoryTracker.InventoryChanges.Add(new InventoryChange(unitsExpected, window.Units, Product.MasterID, ((LineControl)((ShiftControl)ParentControl).ParentControl).Line.Date)); if (Config != null) { ProductMasterItem consumedItem = StaticInventoryTracker.ProductMasterList.FirstOrDefault( master => master.MasterID == Product.MasterID); ProductMasterItem createdItem = StaticInventoryTracker.ProductMasterList.FirstOrDefault( master => master.MasterID == Product.MasterID); if (consumedItem != null && createdItem != null) { double unitsConsumed = Config.GetUnitsConsumed(consumedItem, window.Units, createdItem); // remove units from inventory var invItem = StaticInventoryTracker.InventoryItems.FirstOrDefault( item => item.MasterID == consumedItem.MasterID); if (invItem != null) { invItem.Units -= unitsConsumed; } else // start tracking it { StaticInventoryTracker.AddInventoryItem(new InventoryItem(consumedItem.ProductionCode, -unitsConsumed, consumedItem.PiecesPerUnit, "WiP", consumedItem.MasterID)); } } } }
private void LoadContolData() { if (StaticInventoryTracker.InventoryChanges.Count == 0 && StaticInventoryTracker.IsLoaded) { EfficiencyListView.ItemsSource = new List <Label>() { new Label() { Content = "No efficiency data" } }; return; } // try to load if not loaded and no changes logged. if (StaticInventoryTracker.InventoryChanges.Count == 0 && !StaticInventoryTracker.IsLoaded) { if (!StaticInventoryTracker.LoadDefaults()) { EfficiencyListView.ItemsSource = new List <Label>() { new Label() { Content = "Failed to load efficiency data" } }; return; } } // if there are still none, exit if (StaticInventoryTracker.InventoryChanges.Count == 0) { EfficiencyListView.ItemsSource = new List <Label>() { new Label() { Content = "No efficiency data loaded" } }; return; } var trackers = new List <InventoryChange>(); trackers.AddRange(StaticInventoryTracker.InventoryChanges); // make a copy of the list DateTime date = trackers.Min(change => change.Date); while (trackers.Count > 0) { // get starting day, and then that days start of week while (date.DayOfWeek != CalendarControl.StartOfWeek) { date = date.AddDays(-1); } var weeklyChanges = new List <InventoryChange>(); weeklyChanges.AddRange(trackers.Where(change => change.Date >= date && change.Date < date.AddDays(7))); // get the weeks changes. WeekControls.Add(new WeeklyEfficiencyControl(weeklyChanges, date)); foreach (var inventoryChange in weeklyChanges) { trackers.Remove(inventoryChange); } date = date.AddDays(7); } }
private void OnClosing(object sender, CancelEventArgs cancelEventArgs) { StaticInventoryTracker.SaveDefaults(); }