public void ConstructTableBody(OrderItemsCollection orderItems, List <Block> blocks, List <Color> colors) { foreach (var block in blocks) { var quantities = GetBlockQuantityByColors(orderItems, colors, block); AddRow(block.Shape.ToString(), quantities); } }
private List <InvoiceItem> GenerateItemList(OrderItemsCollection orderItems) { var itemsList = new List <InvoiceItem>(); itemsList.AddRange(GetShapeRelatedInvoiceItems(orderItems)); itemsList.AddRange(GetColorRelatedInvoiceItems(orderItems)); return(itemsList); }
private List <int> GetBlockQuantityByColors(OrderItemsCollection orderItems, List <Color> colors, Block block) { var quantities = new List <int>(); foreach (var color in colors) { quantities.Add(orderItems.GetQuantityByShapeAndColor(block, color)); } return(quantities); }
public void ConstructTableBody(OrderItemsCollection orderItems, List <Block> blocks) { foreach (var block in blocks) { var quantities = new List <int> { orderItems.GetQuantityByShape(block) }; AddRow(block.Shape.ToString(), quantities); } }
private ReportTable GenerateShapeQuanitityTable(OrderItemsCollection orderItems) { var blocks = orderItems.GetAllShapes(); var table = new ReportTable(new List <string> { ColumnHeader }); table.ConstructTableBody(orderItems, blocks); return(table); }
public ReportTable Generate(OrderItemsCollection orderItems) { var colors = orderItems.GetAllColors(); var blocks = orderItems.GetAllShapes(); var table = new ReportTable(ConvertColorToString(colors)); table.ConstructTableBody(orderItems, blocks, colors); return(table); }
private List <InvoiceItem> GetShapeRelatedInvoiceItems(OrderItemsCollection orderItems) { var itemsList = new List <InvoiceItem>(); var blocks = orderItems.GetAllShapes(); foreach (var block in blocks) { var name = block.Shape.ToString(); var quantity = orderItems.GetQuantityByShape(block); var pricePerItem = block.Price; var totalCost = quantity * block.Price; var invoiceItem = new InvoiceItem(name, quantity, pricePerItem, totalCost); itemsList.Add(invoiceItem); } return(itemsList); }
private OrderItemsCollection GetOrderItems() { var orderItems = new List <OrderItem>(); foreach (var item in _productsList) { var input = GetValidUserInput($"the number of {item.GetDisplayName().ToLower()}s"); var quantity = Int32.Parse(input); if (quantity > 0) { item.SetQuantity(quantity); orderItems.Add(item); } } var orderItemsCollection = new OrderItemsCollection(orderItems); return(orderItemsCollection); }
private List <InvoiceItem> GetColorRelatedInvoiceItems(OrderItemsCollection orderItems) { var itemsList = new List <InvoiceItem>(); var colors = orderItems.GetAllColors(); foreach (var color in colors) { if (color.Price != 0) { var name = $"{color.Name} color surcharge"; var quantity = orderItems.GetQuantityByColor(color); var pricePerItem = color.Price; var totalCost = quantity * color.Price; var invoiceItem = new InvoiceItem(name, quantity, pricePerItem, totalCost); itemsList.Add(invoiceItem); } } return(itemsList); }
public Order(DateTime dueDate, Customer customer, OrderItemsCollection orderItems) { DueDate = dueDate; Customer = customer; OrderItems = orderItems; }