public virtual ServiceProvider.OrderSvc.Order_V01 ConvertToDistributorrOrder(InvoiceModel invoice, string memberId, string countryCode, ServiceProvider.OrderSvc.Address address, string warehouseCode, string shippingMethodId, decimal discoount) { var distributorOrder = new ServiceProvider.OrderSvc.Order_V01 { DistributorID = memberId, CountryOfProcessing = countryCode, OrderMonth = DateUtils.GetCurrentLocalTime(countryCode).ToString("yyMM"), InputMethod = ServiceProvider.OrderSvc.InputMethodType.Internet, ReceivedDate = DateUtils.GetCurrentLocalTime(countryCode), OrderCategory = ServiceProvider.OrderSvc.OrderCategoryType.RSO, UseSlidingScale = true, DiscountPercentage = discoount, OrderItems = new ServiceProvider.OrderSvc.OrderItems() }; foreach (var distributorOrderItem in invoice.InvoiceLines.OrderByDescending(i => i.Quantity).Select(invoiceLine => new ServiceProvider.OrderSvc.OrderItem_V01 { Quantity = invoiceLine.Quantity, SKU = invoiceLine.Sku })) { distributorOrder.OrderItems.Add(distributorOrderItem); } distributorOrder.Shipment = GetDistributorShippingInfo(address, warehouseCode, invoice, shippingMethodId); return(distributorOrder); }
public virtual ServiceProvider.OrderSvc.Order_V01 ConvertToOrderForModifiedPrice(InvoiceModel invoice, string memberId, string countryCode, ServiceProvider.OrderSvc.Address address, string warehouseCode, string shippingMethodId) { var distributorOrder = new ServiceProvider.OrderSvc.Order_V01 { DistributorID = memberId, CountryOfProcessing = countryCode, OrderMonth = DateUtils.GetCurrentLocalTime(countryCode).ToString("yyMM"), InputMethod = ServiceProvider.OrderSvc.InputMethodType.Internet, ReceivedDate = DateUtils.GetCurrentLocalTime(countryCode), OrderCategory = ServiceProvider.OrderSvc.OrderCategoryType.RSO, UseSlidingScale = true, OrderItems = new ServiceProvider.OrderSvc.OrderItems() }; foreach (var distributorOrderItem in invoice.InvoiceLines.Select(invoiceLine => new ServiceProvider.OrderSvc.OrderItem_V03 { RetailPrice = invoice.Type == "Distributor" ? invoiceLine.RetailPrice : invoiceLine.EarnBase, Quantity = invoiceLine.Quantity, SKU = invoiceLine.Sku, DiscountAmount = (invoiceLine.RetailPrice * invoiceLine.Quantity) - (invoiceLine.CalcDiscountedAmount * invoiceLine.Quantity), FreightCharge = invoiceLine.FreightCharge, TaxCategory = invoiceLine.ProductCategory, StockingSKU = invoiceLine.StockingSku, PackageHandlingCharge = 0, Description = string.Empty })) { distributorOrder.OrderItems.Add(distributorOrderItem); } distributorOrder.Shipment = GetDistributorShippingInfo(address, warehouseCode, invoice, shippingMethodId); return(distributorOrder); }
public virtual CalculateTaxResponse CallModifiedPricing(ServiceProvider.OrderSvc.Order_V01 order) { var request = new ServiceProvider.OrderSvc.CalculateTaxRequest_V01() { Order = order }; try { var proxy = ServiceClientProvider.GetOrderServiceProxy(); var response = proxy.CalculateTax(new CalculateTaxRequest1(request)).CalculateTaxResult; return(response); } catch (Exception ex) { LoggerHelper.Error( string.Format( "OrderService - InvoiceProvider: An error occured while Calling CalculateTax service method {0}", ex.Message)); } return(null); }
public virtual ServiceProvider.OrderSvc.OrderTotals_V01 CallDistributorPricing(ServiceProvider.OrderSvc.Order_V01 order, bool useHmsCalc) { try { string errorCode; return(ShoppingCartProvider.GetQuote(order, QuotePartType.Freight, useHmsCalc, out errorCode)); } catch (Exception ex) { LoggerHelper.Error( string.Format( "OrderService - InvoiceProvider: An error occured while Calling CallDistributorPricing service method {0}", ex.Message)); } return(null); }