Example #1
0
        public SplitShipmentViewModel(IViewModelsFactory <IOrderAddressViewModel> addressVmFactory, IOrderEntityFactory entityFactory, IShippingRepository shippingRepository, Foundation.Orders.Model.Order currentOrder, Shipment sourceShipment, ShipmentItem movingItem)
        {
            _addressVmFactory   = addressVmFactory;
            _shippingRepository = shippingRepository;
            _entityFactory      = entityFactory;
            CurrentOrder        = currentOrder;
            SourceShipment      = sourceShipment;
            MovingShippingItem  = movingItem;

            CreateNewAddressRequest = new InteractionRequest <Confirmation>();
        }
        public CreateRefundViewModel(
            IViewModelsFactory <IRefundDetailsStepViewModel> detailsVmFactory,
            IViewModelsFactory <IRefundSummaryStepViewModel> summaryVmFactory,
            Foundation.Orders.Model.Order item,
            decimal defaultAmount)
        {
            InnerModel = new CreateRefundModel {
                Order = item, Amount = defaultAmount
            };

            var itemParameter = new KeyValuePair <string, object>("item", InnerModel);

            RegisterStep(detailsVmFactory.GetViewModelInstance(itemParameter));
            RegisterStep(summaryVmFactory.GetViewModelInstance(itemParameter));
        }
Example #3
0
 // main public constructor. calls CreateWizardSteps()
 public CreateExchangeViewModel(Foundation.Orders.Model.Order innerOrder,
                                RmaRequest rmaRequest, IRepositoryFactory <IShippingRepository> shippingRepositoryFactory,
                                IViewModelsFactory <IRmaRequestReturnItemsStepViewModel> returnItemsVmFactory,
                                IViewModelsFactory <IRmaRequestRefundStepViewModel> refundVmFactory,
                                IOrderEntityFactory entityFactory, ReturnBuilder returnBuilder,
                                IViewModelsFactory <ILineItemAddViewModel> lineItemAddVmFactory,
                                IViewModelsFactory <IExchangeOrderStepViewModel> exchangeVmFactory,
                                IViewModelsFactory <IOrderAddressViewModel> addressVmFactory)
     : base(innerOrder, rmaRequest, entityFactory, returnBuilder, returnItemsVmFactory, refundVmFactory, lineItemAddVmFactory, exchangeVmFactory)
 {
     _entityFactory             = entityFactory;
     _addressVmFactory          = addressVmFactory;
     _shippingRepositoryFactory = shippingRepositoryFactory;
     _exchangeVmFactory         = exchangeVmFactory;
 }
        public CreateRmaRequestViewModel(Foundation.Orders.Model.Order innerOrder,
                                         RmaRequest rmaRequest, IOrderEntityFactory orderEntityFactory, ReturnBuilder returnBuilder,
                                         IViewModelsFactory <IRmaRequestReturnItemsStepViewModel> returnItemsVmFactory,
                                         IViewModelsFactory <IRmaRequestRefundStepViewModel> refundVmFactory,
                                         IViewModelsFactory <ILineItemAddViewModel> lineItemAddVmFactory, IViewModelsFactory <IExchangeOrderStepViewModel> exchangeVmFactory)
        {
            _exchangeVmFactory           = exchangeVmFactory;
            _lineItemAddVmFactory        = lineItemAddVmFactory;
            _isCreatingExchangeOrderOnly = innerOrder.RmaRequests.Any(x => x.RmaRequestId == rmaRequest.RmaRequestId);

            var item = innerOrder.DeepClone(orderEntityFactory as IKnownSerializationTypes);

            ReturnBuilder = returnBuilder;
            ReturnBuilder.WithOrderOrRmaRequest(item, rmaRequest);

            CreateWizardSteps(returnItemsVmFactory, refundVmFactory);
        }
        internal static PaymentModel GetNewPaymentModel(Foundation.Orders.Model.Order order, IPaymentMethodRepository repository, StoreClient client)
        {
            var method = repository.PaymentMethods.Where(x => x.Name == "CreditCard").FirstOrDefault();

            var store = client.GetStoreById(order.StoreId);

            var cardTypes = store.CardTypes.Select(x => new ListModel(x.CardType, x.CardType)).ToArray();

            var months = new[]
            {
                new ListModelInt("01 - January", 1),
                new ListModelInt("02 - February", 2),
                new ListModelInt("03 - March", 3),
                new ListModelInt("04 - April", 4),
                new ListModelInt("05 - May", 5),
                new ListModelInt("06 - June", 6),
                new ListModelInt("07 - July", 7),
                new ListModelInt("08 - August", 8),
                new ListModelInt("09 - September", 9),
                new ListModelInt("10 - October", 10),
                new ListModelInt("11 - November", 11),
                new ListModelInt("12 - December", 12)
            };
            var years = new List <ListModelInt>();

            for (var index = DateTime.Now.Year; index <= DateTime.Now.Year + 10; index++)
            {
                years.Add(new ListModelInt(index.ToString(CultureInfo.InvariantCulture), index));
            }

            var result = new PaymentModel
            {
                Months    = months,
                Years     = years.ToArray(),
                CardTypes = cardTypes
            };

            if (method != null)
            {
                result.NewPayment.PaymentMethodId   = method.PaymentMethodId;
                result.NewPayment.PaymentMethodName = method.Name;
            }

            return(result);
        }
Example #6
0
 public ReturnBuilder WithOrderOrRmaRequest(Foundation.Orders.Model.Order order, RmaRequest rmaRequest)
 {
     CurrentOrder = new OrderModel(order, _client, _orderService);
     RmaRequest   = rmaRequest;
     return(this);
 }
Example #7
0
        public static ReturnBuilder GetReturnBuilder(IOrderEntityFactory entityFactory, IPricelistRepository priceListRepository, Foundation.Orders.Model.Order order, RmaRequest rmaRequest, OrderClient client, IOrderService service)
        {
            if (entityFactory == null)
            {
                throw new ArgumentNullException("entityFactory");
            }
            if (order == null)
            {
                throw new ArgumentNullException("order");
            }

            var retVal = new ReturnBuilder(entityFactory, priceListRepository, client, service);

            retVal.WithOrderOrRmaRequest(order, rmaRequest);

            return(retVal);
        }