/// <summary> /// Get the requirements for a day. Creates a new day if there is not one /// </summary> /// <param name="day"></param> /// <returns></returns> public RequirementsDay GetRequirementDay(DateTime day) { var validDay = RequirementsHandler.ValidateDay(day); RequirementsDay reqDay = null; if (RequiredPieces.ContainsKey(validDay)) { reqDay = RequiredPieces[validDay]; } else { reqDay = new RequirementsDay(this, validDay); RequiredPieces[validDay] = reqDay; } return(reqDay); }
public void UpdateInventory(DateTime startDay) { // Validate day var validDate = RequirementsHandler.ValidateDay(startDay); RequirementsDay reqDay = null; RequirementsDay prevDay = null; // add inventory numbers for each day reqDay = GetRequirementDay(validDate); validDate = validDate.AddDays(1); while (validDate <= RequirementsHandler.GetLatestDay()) { prevDay = reqDay; reqDay = GetRequirementDay(validDate); reqDay.Inventory = prevDay.NextInventoryPieces; validDate = validDate.AddDays(1); } }
/// <summary> /// Adds a listing to the gross requirements of the item on the date. If another sale is already on that date, the required items are added. /// </summary> /// <param name="day"></param> /// <param name="pieces"></param> public void AddSale(DateTime day, double pieces) { // Validate day var validDate = RequirementsHandler.ValidateDay(day); // Safe access to dictionary. Creates new entry if needed. RequirementsDay requirement = null; if (RequiredPieces.ContainsKey(validDate)) { requirement = RequiredPieces[validDate]; requirement.AddGrossRequirement(pieces); } else { requirement = new RequirementsDay(this, validDate); RequiredPieces[validDate] = requirement; requirement.AddGrossRequirement(pieces); } }