/// <summary> /// The get customer order by order id. /// </summary> /// <param name="orderId"> /// The order id. /// </param> /// <returns> /// Customer Order Object /// </returns> public static CustomerOrder_V01 GetCustomerOrderByOrderID(string orderId) { if (string.IsNullOrEmpty(orderId)) { return(null); } using (var proxy = ServiceClientProvider.GetCustomerOrderServiceProxy()) { try { var request = new GetCustomerOrderRequest_V01(); var filter = new CustomerOrderById { CustomerOrderId = orderId }; request.Filter = filter; var response = proxy.GetOrders(new GetOrdersRequest(request)).GetOrdersResult as GetCustomerOrderResponse_V01; if (response != null && response.Status == ServiceResponseStatusType.Success) { return(response.Orders.ToList().Cast <CustomerOrder_V01>().ToList().FirstOrDefault()); } } catch (Exception ex) { WebUtilities.LogServiceExceptionWithContext(ex, proxy); // ExceptionPolicy.HandleException(ex, ProviderPolicies.SYSTEM_EXCEPTION); LoggerHelper.Error(string.Format("GetCustomerOrderByOrderID OrderID:{0} ERR:{1}", orderId, ex)); return(null); } } return(null); }
private List <TaxRate> GetTaxRatesFromCache(string locale) { var request = new GetTaxRateRequestV01 { Locale = locale }; try { var proxy = ServiceClientProvider.GetCustomerOrderServiceProxy(); var response = proxy.GetTaxRate(new GetTaxRateRequest1(request)).GetTaxRateResult; if (null != response && response.Status == ServiceProvider.CustomerOrderSvc.ServiceResponseStatusType.Success) { var responseV01 = response as GetTaxRateResponse_V01; if (null != responseV01 && responseV01.TaxRates.Any()) { return(responseV01.TaxRates); } } LoggerHelper.Error("Invoice Customer pricing GetTaxRatesFromTableStorage return null"); return(new List <TaxRate>()); } catch (Exception ex) { LoggerHelper.Error( string.Format( "OrderService - InvoiceProvider: An error occured while Calling GetTaxDataForDwsFromVertex service method {0}", ex.Message)); } return(new List <TaxRate>()); }
/// <summary> /// The get available discounts. /// </summary> /// <param name="distributorId"> /// The distributor id. /// </param> /// <returns> /// List of customer discounts /// </returns> public static List <CustomerDiscountDefinition> GetAvailableDiscounts(string distributorId) { if (string.IsNullOrEmpty(distributorId)) { return(null); } using (var proxy = ServiceClientProvider.GetCustomerOrderServiceProxy()) { try { var request = new GetCustomerDiscountsByDistributor { DistributorID = distributorId }; var response = proxy.GetCustomerDiscounts(new GetCustomerDiscountsRequest1(request)).GetCustomerDiscountsResult as GetCustomerDiscountsResponse_V01; if (response.Status == ServiceResponseStatusType.Success) { return(response.Discounts.ToList()); } } catch (Exception ex) { WebUtilities.LogServiceExceptionWithContext(ex, proxy); // ExceptionPolicy.HandleException(ex, ProviderPolicies.SYSTEM_EXCEPTION); LoggerHelper.Error(string.Format("GetAvailableDiscounts DS:{0} ERR:{1}", distributorId, ex)); return(null); } } return(null); }
/// <summary> /// The save customer order. /// </summary> /// <param name="customerOrder"> /// The customer order. /// </param> /// <returns> /// The save customer order. /// </returns> public static bool SaveCustomerOrder(CustomerOrder_V01 customerOrder) { if (customerOrder == null) { return(false); } using (var proxy = ServiceClientProvider.GetCustomerOrderServiceProxy()) { try { var request = new SaveCustomerOrderRequest_V01 { Order = customerOrder }; var response = proxy.SaveOrder(new SaveOrderRequest(request)).SaveOrderResult as SaveCustomerOrderResponse_V01; if (response.Status == ServiceResponseStatusType.Success) { return(true); } } catch (Exception ex) { WebUtilities.LogServiceExceptionWithContext(ex, proxy); // ExceptionPolicy.HandleException(ex, ProviderPolicies.SYSTEM_EXCEPTION); LoggerHelper.Error(string.Format("SaveCustomerOrder OrderID:{0} ERR:{1}", customerOrder.OrderID, ex)); return(false); } } return(false); }
/// <summary> /// The update customer order tags. /// </summary> /// <param name="customerOrderID"> /// The customer order id. /// </param> /// <param name="orderTag"> /// The order tag. /// </param> /// <returns> /// The update customer order tags. /// </returns> public static bool UpdateCustomerOrderTags(string customerOrderID, CustomerOrderStatusTag orderTag) { if (string.IsNullOrEmpty(customerOrderID)) { return(false); } using (var proxy = ServiceClientProvider.GetCustomerOrderServiceProxy()) { try { var request = new SavePartialCustomerOrderRequest { OrderId = customerOrderID, Updates = new[] { new CustomerOrderPropertyValue { Property = CustomerOrderProperty.CustomerOrderStatusTag, Value = (int) Enum.Parse( typeof(CustomerOrderStatusTag), Enum.GetName(typeof(CustomerOrderStatusTag), orderTag)) } }.ToList() }; var response = proxy.SaveOrder(new SaveOrderRequest(request)).SaveOrderResult as SaveCustomerOrderResponse_V01; if (response.Status == ServiceResponseStatusType.Success) { return(true); } } catch (Exception ex) { WebUtilities.LogServiceExceptionWithContext(ex, proxy); // ExceptionPolicy.HandleException(ex, ProviderPolicies.SYSTEM_EXCEPTION); LoggerHelper.Error(string.Format("UpdateCustomerOrderTags OrderID:{0} ERR:{1}", customerOrderID, ex)); return(false); } } return(false); }
/// <summary> /// The save discount. /// </summary> /// <param name="coupon"> /// The coupon. /// </param> /// <param name="distributorId"> /// The distributor id. /// </param> /// <returns> /// The save discount. /// </returns> /// <exception cref="ArgumentException"> /// </exception> public static bool SaveDiscount(CustomerDiscountDefinition coupon, string distributorId) { if (coupon == null) { return(false); } using (var proxy = ServiceClientProvider.GetCustomerOrderServiceProxy()) { try { var request = new SaveCustomerDiscountRequest_V01 { Discount = coupon, DistributorID = distributorId }; var response = proxy.SaveCustomerDiscount(new SaveCustomerDiscountRequest1(request)); if (response.SaveCustomerDiscountResult.Status == ServiceResponseStatusType.Success) { return(true); } if (response.SaveCustomerDiscountResult.Status.ToString() == "Failure, ClientFault") { foreach (var parameterError in response.SaveCustomerDiscountResult.ParameterErrorList) { if (parameterError.Name.Equals("Discount Code")) { throw new ArgumentException("Duplicate coupon code"); } } } } catch (Exception ex) { if (ex.GetType().Equals(typeof(ArgumentException))) { throw; } LoggerHelper.Error(string.Format("SaveDiscount DS ID:{0} ERR:{1}", distributorId, ex)); return(false); } } return(false); }
/// <summary> /// The update customer order status. /// </summary> /// <param name="customerOrderID"> /// The customer order id. /// </param> /// <param name="previousStatus"> /// The previous status. /// </param> /// <param name="newStatus"> /// The new status. /// </param> /// <returns> /// The update customer order status. /// </returns> public static bool UpdateCustomerOrderStatus( string customerOrderID, CustomerOrderStatusType previousStatus, CustomerOrderStatusType newStatus) { if (string.IsNullOrEmpty(customerOrderID)) { return(false); } using (var proxy = ServiceClientProvider.GetCustomerOrderServiceProxy()) { try { var request = new SaveCustomerOrderStatusRequest_V01 { OrderId = customerOrderID, FromStatus = previousStatus, ToStatus = newStatus }; var response = proxy.SaveOrder(new SaveOrderRequest(request)).SaveOrderResult as SaveCustomerOrderStatusResponse_V01; if (response.Status == ServiceResponseStatusType.Success) { return(true); } } catch (Exception ex) { WebUtilities.LogServiceExceptionWithContext(ex, proxy); // ExceptionPolicy.HandleException(ex, ProviderPolicies.SYSTEM_EXCEPTION); LoggerHelper.Error(string.Format("UpdateCustomerOrderStatus OrderID:{0} ERR:{1}", customerOrderID, ex)); return(false); } } return(false); }