public void OutputString(StringBuilder outputString) { var product = StaticInventoryTracker.ProductMasterList.FirstOrDefault(x => x.MasterID == MasterItem.MasterID); string name = product?.ProductionCode; outputString.Append($"{name}"); for (int i = 0; i < RequirementsHandler.GetNumDays(); ++i) { outputString.Append($",{" "}"); // keep columns } outputString.AppendLine(); // end product line StringBuilder grossBuilder = new StringBuilder(); StringBuilder onHandBuilder = new StringBuilder(); StringBuilder netBuilder = new StringBuilder(); StringBuilder purchaseBuilder = new StringBuilder(); grossBuilder.Append($"{"Gross"},"); onHandBuilder.Append($"{"OnHand"},"); netBuilder.Append($"{"Net"},"); purchaseBuilder.Append($"{"POS"},"); DateTime current = RequirementsHandler.GetEarliestDay(); while (current <= RequirementsHandler.GetLatestDay()) { RequirementsDay day = null; if (RequiredPieces.ContainsKey(current)) { day = RequiredPieces[current]; } if (day != null) { grossBuilder.Append($"{day.GrossPieces},"); onHandBuilder.Append($"{day.Inventory},"); netBuilder.Append($"{day.NetRequiredPieces},"); purchaseBuilder.Append($"{day.PurchaseOrderPieces},"); } else { grossBuilder.Append($"{"0"},"); onHandBuilder.Append($"{"0"},"); netBuilder.Append($"{"0"},"); purchaseBuilder.Append($"{"0"},"); } current = current.AddDays(1); } outputString.AppendLine(grossBuilder.ToString()); outputString.AppendLine(onHandBuilder.ToString()); outputString.AppendLine(netBuilder.ToString()); outputString.AppendLine(purchaseBuilder.ToString()); }
/// <summary> /// Adds the number of pieces to on hand inventory /// </summary> /// <param name="day"></param> /// <param name="pieces"></param> public void AddOnHandInventory(int pieces) { // Validate day var validDate = RequirementsHandler.GetEarliestDay(); RequirementsDay reqDay = null; RequirementsDay prevDay = null; // Safe Access. if (RequiredPieces.ContainsKey(validDate)) { reqDay = RequiredPieces[validDate]; reqDay.AddOnHand(pieces); } else { reqDay = new RequirementsDay(this, validDate); RequiredPieces[validDate] = reqDay; reqDay.Inventory = pieces; } }
public void SetInventory(double pieces) { var day = GetRequirementDay(RequirementsHandler.GetEarliestDay()); day.Inventory = pieces; }