public OrderChargeModel Calculate(Order order) { var orderItems = (from c in _orderItem where c.OrderId == order.OrderId select c).ToList(); var cookerId = orderItems.First().CookerId; var taxPercent = (from c in _cookers where c.CookerId == cookerId select c.TaxPercent).FirstOrDefault() ?? 1; var paymentMethodValue = (from c in _fakePaymentMethods where c.PaymentMethodId == order.PaymentMethodId select c.PaymentMethodValue).FirstOrDefault(); var orderTypeValue = (from c in _fakeOrderTypes where c.OrderTypeId == order.OrderTypeId select c.OrderTypeValue).FirstOrDefault(); var planTitle = (from c in _fakePlans where c.PlanId == order.PlanId select c.Description).FirstOrDefault(); #region PickUpOrderCharge if (order.OrderTypeId == (int)OrderType.Values.PickUp) { _orderCharge = PickUpCharge(order, taxPercent); } #endregion #region DeliveryOrderCharge var cookerDelieryZonesId = (from c in _cookerDeliveryZones where c.CookerId == cookerId select c.DeliveryId).ToList(); decimal deliveryFees = 0; foreach (var deliveryZoneId in cookerDelieryZonesId) { //Custom KML Function to see if the item is in the zone //Moq for now var deliveryzone = _deliveryZones.FirstOrDefault(c => c.DeliveryId == deliveryZoneId); //KML integration to see if deliveryaddress is Zone if (_deliveryAddress.AddressTypeId == (int) AddressToDeliveryZone.Values.AddressInZone) { if (deliveryzone != null) { deliveryFees = deliveryzone.DeliveryFees; } } } _orderCharge = DeliveryCharge(order, deliveryFees, taxPercent); #endregion _orderCharge.CookerId = cookerId; _orderCharge.PaymentMethodValue = paymentMethodValue; _orderCharge.OrderTypeValue = orderTypeValue; _orderCharge.SalesTaxes = CalculateSalesTax(_orderCharge.TotalCharges, taxPercent); _orderCharge.PlanTitle = planTitle; return _orderCharge; }
public ActionResult EditOrderCharge(OrderChargeModel model) { var result = _orderChargeService.UpdateService.UpdateColumn(model); return(BoolResult(result)); }
public ActionResult AddOrderCharge(OrderChargeModel model) { var result = _orderChargeService.AddService.AddColumn(model); return(BoolResult(result)); }