private void SplitBoxToParts() { foreach (var item in _context.Boxes) { if (item.PART_COUNT > 0) { item.ShipmentParts = new List <ShipmentParts>(); var mod = item.WEIGHT % item.PART_COUNT; var partWeight = (item.WEIGHT - mod) / item.PART_COUNT; for (int i = 0; i < item.PART_COUNT; i++) { ShipmentParts part = new ShipmentParts(); part.BOX_ID = item.BOX_ID; part.PART_COST = 0; part.PART_NUMBER = i + 1; if (mod != 0) { part.PART_WEIGHT = partWeight + 1; mod--; } else { part.PART_WEIGHT = partWeight; } part.PART_COST = CalculatePrice(part.PART_WEIGHT); item.ShipmentParts.Add(part); _context.Update(item); } } } }
private void SplitBoxToParts() { var mod = Box.WEIGHT % PartCount; if (mod == Box.WEIGHT) { return; } var partWeight = (Box.WEIGHT - mod) / PartCount; for (int i = 0; i < PartCount; i++) { ShipmentParts part = new ShipmentParts(); part.BOX_ID = Box.BOX_ID; part.PART_COST = 0; part.PART_NUMBER = i + 1; if (mod != 0) { part.PART_WEIGHT = partWeight + 1; mod--; } else { part.PART_WEIGHT = partWeight; } Box.ShipmentParts.Add(part); } }