Ejemplo n.º 1
0
		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;
			}
		}
Ejemplo n.º 2
0
		public OrderModel(IOrderEntityFactory entityFactory, coreModel.Order innerItem, OrderClient client, IOrderService orderService)
		{
			_entityFactory = entityFactory;
			_innerItem = innerItem;
			_OrderClient = client;
			_orderService = orderService;
		}
Ejemplo n.º 3
0
		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;
		}
Ejemplo n.º 4
0
		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)));
			}
		}
Ejemplo n.º 5
0
		public OrderModel(coreModel.Order innerItem, OrderClient client, IOrderService orderService)
			: this(new OrderEntityFactory(), innerItem, client, orderService)
		{
		}
Ejemplo n.º 6
0
		public static void Complete(this Shipment item, coreModel.Order ParentOrder, OrderClient client)
		{
			item.SetCurrentStatus((int)ShipmentStatus.Shipped, client);
		}
Ejemplo n.º 7
0
		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;
		}
Ejemplo n.º 8
0
		public static void Release(this Shipment item, coreModel.Order ParentOrder, OrderClient client)
		{
			item.SetCurrentStatus((int)ShipmentStatus.Released, client);
		}
Ejemplo n.º 9
0
		public static void Cancel(this Shipment item, coreModel.Order ParentOrder, OrderClient client)
		{
			item.SetCurrentStatus((int)ShipmentStatus.Cancelled, client);
		}