private static decimal determineToppingsCost(PizzaPriceDto price, OrdersDto order) { decimal cost = 0.0M; cost += (order.Sausage) ? price.SausageCost : 0M; cost += (order.Pepperoni) ? price.PepperoniCost : 0M; cost += (order.Onions) ? price.OnionsCost : 0M; cost += (order.GreenPeppers) ? price.GreenPeppersCost : 0M; return(cost); }
private static decimal determineCrustCost(PizzaPriceDto price, OrdersDto order) { decimal cost = 0.0M; switch (order.Crust) { case DTO.Enums.CrustType.Regular: cost = price.RegularCrustCost; break; case DTO.Enums.CrustType.Thin: cost = price.ThinCrustCost; break; case DTO.Enums.CrustType.Thick: cost = price.ThickCrustCost; break; default: break; } return(cost); }
private static decimal determineSizeCost(PizzaPriceDto price, OrdersDto order) { var cost = 0.0M; switch (order.Size) { case DTO.Enums.SizeType.Small: cost = price.SmallSizeCost; break; case DTO.Enums.SizeType.Medium: cost = price.MediumSizeCost; break; case DTO.Enums.SizeType.Large: cost = price.LargeSizeCost; break; default: break; } return(cost); }
public OrderDto SaveOrder(OrderDto newOrder) { Order order = _orderRepository.GetItem(newOrder.Id) ?? new Order { }; order.Name = newOrder.Name; order.Surname = newOrder.Surname; order.Phone = newOrder.Phone; order.Total = newOrder.Total; if (newOrder.AccountId == 0 || newOrder.AccountId == null) { order.AccountId = null; } else { order.AccountId = newOrder.AccountId; } order.Address = newOrder.Address; if (order.Id == 0) { order.CreatedAt = DateTime.Now; } order = _orderRepository.Save(order); if (order.OrderPrices != null) { order.OrderPrices.ToList().ForEach(price => { PizzaPriceDto foundPrice = null; newOrder.Pizzas.ForEach(pizza => { foundPrice = pizza.Prices.Find(newPrice => { return(newPrice.Id == price.PriceId); }); }); if (foundPrice == null) { _orderPriceRepository.Delete(price.Id); } }); } newOrder.Pizzas.ForEach(pizza => { pizza.Prices.ForEach(price => { OrderPrice foundOrderPrice = null; if (order.OrderPrices != null) { foundOrderPrice = order.OrderPrices.ToList().Find(orderPrice => orderPrice.PriceId == price.Id); } if (foundOrderPrice == null) { OrderPrice newOrderPrice = new OrderPrice { Id = 0, Count = (int)price.Count, OrderId = order.Id, PriceId = price.Id }; _orderPriceRepository.Save(newOrderPrice); } }); }); return(ConvertOrder(order)); }