Пример #1
0
 internal static void DisposeInstance()
 {
     if (_extractor == null)
     {
         return;
     }
     Util.DisposeObject(_extractor);
     _extractor = null;
 }
Пример #2
0
        public OrderChargeModel Calculate(Order order)
        {
            var orderItems = (from c in _orderItem where c.OrderId == order.OrderId select c).ToList();
            if (orderItems.Any())
            {
                _orderCharge = new OrderChargeModel();
                var firstOrderItem = orderItems.FirstOrDefault();
                if (firstOrderItem != null) _orderCharge.CookerId = firstOrderItem.CookerId;
                var taxPercent = new Common.Util().GetTaxPercent(_orderCharge.CookerId);
                _orderCharge.OrderTypeValue = Enum.GetName(typeof(OrderModelType.Values), order.OrderTypeId);
                _orderCharge.PaymentMethodValue = Enum.GetName(typeof(PaymentMethodType.Values), order.PaymentMethodId);

                #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 == _orderCharge.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.SalesTaxes = new Money().RoundTo2Decimal(CalculateSalesTax(_orderCharge.TotalCharges, taxPercent));
                _orderCharge.PlanTitle = null;
                return _orderCharge;
            }
            return null;
        }
Пример #3
0
 private void Dispose(bool disposing)
 {
     if (!_disposed)
     {
         if (disposing)
         {
             Stop();
             CloseAndDisposeSharedmemReaders();
             Util.DisposeObject(_texSmReader);
         }
     }
     _disposed = true;
 }
Пример #4
0
 private void CloseAndDisposeSharedmemReaders()
 {
     Util.DisposeObject(_texSmReader);
     _texSmReader = null;
 }