public ShipmentItem(model.ShipmentItem item = null) { if (item != null) { this.InjectFrom(item); var propInfo = item.GetType().FindPropertiesWithAttribute(typeof(KeyAttribute)).First(); ShipmentItemId = propInfo.GetValue(item) as string ?? Guid.NewGuid().ToString(); ItemCode = item.LineItem != null ? item.LineItem.CatalogItemCode : null; ItemName = item.LineItem != null ? item.LineItem.DisplayName : null; UnitPrice = item.LineItem != null ? item.LineItem.PlacedPrice : 0; ShippingAddress = item.Shipment != null && item.Shipment.OrderForm != null ? item.Shipment.OrderForm.OrderGroup.OrderAddresses.Where(address => address.Name == "Shipping").FirstOrDefault().ToString() : string.Empty; BillingAddress = item.Shipment != null && item.Shipment.OrderForm != null ? item.Shipment.OrderForm.OrderGroup.OrderAddresses.Where(address => address.Name == "Billing").FirstOrDefault().ToString() : string.Empty; Customer = item.Shipment != null && item.Shipment.OrderForm != null ? item.Shipment.OrderForm.OrderGroup.CustomerName : string.Empty; Order = item.Shipment != null && item.Shipment.OrderForm != null ? ((Order) item.Shipment.OrderForm.OrderGroup).TrackingNumber : string.Empty; OrderDate = item.Shipment != null && item.Shipment.OrderForm != null ? item.Shipment.OrderForm.OrderGroup.Created : null; ShippingTaxTotal = item.Shipment != null ? item.Shipment.ShippingTaxTotal : 0; ItemTaxTotal = item.Shipment != null ? item.Shipment.ItemTaxTotal : 0; ItemSubtotal = item.Shipment != null ? item.Shipment.ItemSubtotal : 0; Subtotal = item.Shipment != null ? item.Shipment.Subtotal : 0; TotalBeforeTax = item.Shipment != null ? item.Shipment.TotalBeforeTax : 0; BillingCurrency = item.Shipment != null && item.Shipment.OrderForm != null ? item.Shipment.OrderForm.OrderGroup.BillingCurrency : string.Empty; ShippingTotal = item.Shipment != null ? item.Shipment.ShipmentTotal : 0; DiscountAmount = item.Shipment != null ? item.Shipment.ShippingDiscountAmount : 0; } }
public OrderModel(IOrderEntityFactory entityFactory, coreModel.Order innerItem, OrderClient client, IOrderService orderService) { _entityFactory = entityFactory; _innerItem = innerItem; _OrderClient = client; _orderService = orderService; }
public static bool IsReleaseable(this Shipment item, coreModel.Order ParentOrder, OrderClient client) { var retVal = !string.IsNullOrEmpty(item.ShippingAddressId) && !Guid.Empty.Equals(item.ShippingMethodId) && ParentOrder.GetCurrentStatus() != (int)OrderStatus.Pending && ParentOrder.GetCurrentStatus() != (int)OrderStatus.AwaitingExchange && client.CanChangeStatus(item, ShipmentStatus.Released.ToString()); return retVal; }
public Shipment(model.Shipment item = null) { if (item != null) { this.InjectFrom(item); var propInfo = item.GetType().FindPropertiesWithAttribute(typeof(KeyAttribute)).First(); ShipmentId = propInfo.GetValue(item) as string ?? Guid.NewGuid().ToString(); Address = item.OrderForm != null ? item.OrderForm.OrderGroup.OrderAddresses.Where(address => address.Name == "Shipping").FirstOrDefault().ToString() : string.Empty; Customer = item.OrderForm != null ? item.OrderForm.OrderGroup.CustomerName : string.Empty; ShipmentItems = new ObservableCollection<ShipmentItem>(); item.ShipmentItems.ToList().ForEach(shipItem => this.ShipmentItems.Add(new ShipmentItem(shipItem))); } }
public OrderModel(coreModel.Order innerItem, OrderClient client, IOrderService orderService) : this(new OrderEntityFactory(), innerItem, client, orderService) { }
public static void Complete(this Shipment item, coreModel.Order ParentOrder, OrderClient client) { item.SetCurrentStatus((int)ShipmentStatus.Shipped, client); }
public static bool IsCompletable(this Shipment item, coreModel.Order ParentOrder, OrderClient client) { var retVal = ParentOrder.GetCurrentStatus() != (int)OrderStatus.AwaitingExchange && client.CanChangeStatus(item, ShipmentStatus.Shipped.ToString()); return retVal; }
public static void Release(this Shipment item, coreModel.Order ParentOrder, OrderClient client) { item.SetCurrentStatus((int)ShipmentStatus.Released, client); }
public static void Cancel(this Shipment item, coreModel.Order ParentOrder, OrderClient client) { item.SetCurrentStatus((int)ShipmentStatus.Cancelled, client); }