From b1137f6b199f072c0537fe1b4dafe7e63352d349 Mon Sep 17 00:00:00 2001 From: AJ Date: Sat, 22 Nov 2025 23:03:24 -0500 Subject: [PATCH] Implement MainFormPresenter.LoadExampleData MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Generate 25 random parts with lengths between 1-60 inches - Add one stock bin of 144" with quantity 9999 - Use random quantities between 1-100 for parts - Clear existing data when requested - Update run button state after loading - Add helper method GetRandomLength for generating test data This completes the MVP pattern migration by moving example data generation logic from the view to the presenter. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CutList/Presenters/MainFormPresenter.cs | 40 +++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/CutList/Presenters/MainFormPresenter.cs b/CutList/Presenters/MainFormPresenter.cs index 4fed777..7d4f13d 100644 --- a/CutList/Presenters/MainFormPresenter.cs +++ b/CutList/Presenters/MainFormPresenter.cs @@ -114,8 +114,44 @@ namespace CutList.Presenters /// Whether to clear existing data first public void LoadExampleData(bool clearCurrentData) { - // Example data loading logic would go here - // For now, just delegate to view if needed + const int PartCount = 25; + const double Min = 1; + const double Max = 60; + + if (clearCurrentData) + { + _view.ClearData(); + } + + var parts = new List(); + var bins = new List(); + var random = new Random(); + + for (int i = 0; i < PartCount; i++) + { + var length = GetRandomLength(random, Min, Max); + + parts.Add(new PartInputItem + { + Name = $"Part {i + 1}", + LengthInputValue = length.ToString(), + Quantity = random.Next(1, 100) + }); + } + + bins.Add(new BinInputItem + { + LengthInputValue = "144\"", + Quantity = 9999 + }); + + _view.LoadDocumentData(parts, bins); + UpdateRunButtonState(); + } + + private double GetRandomLength(Random random, double min, double max) + { + return Math.Round(random.NextDouble() * (max - min) + min, 2); } ///