Example #1
0
        private void RaiseCreatePaymentInteractionRequest()
        {
            var itemVM = _wizardPaymentVmFactory.GetViewModelInstance();

            var confirmation = new ConditionalConfirmation {
                Title = "Create payment".Localize(), Content = itemVM
            };

            CommonOrderWizardDialogInteractionRequest.Raise(confirmation, (x) =>
            {
                if (x.Confirmed)
                {
                    var item                       = CreateEntity <CreditCardPayment>();
                    item.Amount                    = itemVM.Amount;
                    item.PaymentMethodId           = itemVM.PaymentMethod.PaymentMethodId;
                    item.PaymentMethodName         = itemVM.PaymentMethod.Name;
                    item.Status                    = "Processing";
                    item.TransactionType           = TransactionType.Authorization.ToString();
                    item.CreditCardExpirationMonth = 1;
                    item.CreditCardExpirationYear  = 2011;

                    InnerItem.OrderForms[0].Payments.Add(item);
                    //IsModified = true;
                }
            });
        }
Example #2
0
        private void RaiseCreateRmaRequestInteractionRequest()
        {
            var rmaRequest = CreateEntity <RmaRequest>();

            rmaRequest.IsPhysicalReturnRequired = true;

            var itemVM = _wizardRmaVmFactory.GetViewModelInstance(
                new KeyValuePair <string, object>("innerOrder", InnerItem),
                new KeyValuePair <string, object>("rmaRequest", rmaRequest));

            var confirmation = new Confirmation {
                Title = "Create RMA request".Localize(), Content = itemVM
            };

            CommonOrderWizardDialogInteractionRequest.Raise(confirmation, (x) =>
            {
                if (x.Confirmed)
                {
                    rmaRequest = itemVM.GetRmaRequest();
                    if (!rmaRequest.IsPhysicalReturnRequired)
                    {
                        rmaRequest.SetCurrentStatus((int)RmaRequestStatus.AwaitingCompletion, _client);
                    }

                    // workaround:begin1
                    // preparing for save: clear LineItem values otherwise .InjectFrom() will crash
                    foreach (var rmaItem in rmaRequest.RmaReturnItems)
                    {
                        rmaItem.RmaLineItems[0].LineItem = null;
                    }
                    Repository.Add(rmaRequest);
                    // workaround:end1

                    InnerItem.RmaRequests.Add(rmaRequest);
                    //await Save(false);
                    DoSaveChanges1();

                    // workaround:begin2
                    // set right values after save
                    foreach (var rmaItem in rmaRequest.RmaReturnItems)
                    {
                        var newLineItem = InnerItem.OrderForms[0].LineItems.First(x1 => x1.LineItemId == rmaItem.RmaLineItems[0].LineItemId);
                        rmaItem.RmaLineItems[0].LineItem = newLineItem;
                    }
                    // workaround:end2

                    var rmaRequestViewModel = _rmaRequestVmFactory.GetViewModelInstance(
                        new KeyValuePair <string, object>("rmaRequestItem", rmaRequest),
                        new KeyValuePair <string, object>("parentViewModel", this));
                    RmaRequestViewModels.Add(rmaRequestViewModel);

                    // reinitialize changes
                    CloseAllSubscription();
                    SetAllSubscription();

                    // show created RmaRequest item
                    SelectedTabIndex = ReturnsTabIndex;
                }
            });
        }
Example #3
0
        private void RaiseCreateRefundInteractionRequest()
        {
            if (!CreateRefundCommand.CanExecute())
            {
                return;
            }

            var itemVM = _wizardRefundVmFactory.GetViewModelInstance(
                new KeyValuePair <string, object>("item", InnerItem)
                , new KeyValuePair <string, object>("defaultAmount", decimal.Zero)
                );

            var confirmation = new ConditionalConfirmation {
                Title = "Create Refund".Localize(), Content = itemVM
            };

            CommonOrderWizardDialogInteractionRequest.Raise(confirmation, x =>
            {
                if (x.Confirmed)
                {
                    ReQueryPayments();
                }
            });
        }
Example #4
0
        internal void RaiseCreateExchangeInteractionRequest(RmaRequest item)
        {
            RmaRequest rmaRequest;

            if (item == null)
            {
                rmaRequest = CreateEntity <RmaRequest>();
            }
            else
            {
                rmaRequest = item.DeepClone(EntityFactory as IKnownSerializationTypes);
            }

            var itemVM = _wizardExchangeVmFactory.GetViewModelInstance(
                new KeyValuePair <string, object>("innerOrder", InnerItem),
                new KeyValuePair <string, object>("rmaRequest", rmaRequest));

            var confirmation = new Confirmation {
                Title = "Create an exchange Order".Localize(), Content = itemVM
            };

            CommonOrderWizardDialogInteractionRequest.Raise(confirmation, (x) =>
            {
                if (x.Confirmed)
                {
                    rmaRequest        = itemVM.GetRmaRequest();
                    var exchangeOrder = rmaRequest.ExchangeOrder;
                    if (InnerItem.RmaRequests.All(x1 => x1.RmaRequestId != rmaRequest.RmaRequestId))
                    {
                        // workaround:begin1
                        // preparing for save
                        Repository.Add(exchangeOrder);
                        rmaRequest.ExchangeOrder = null;
                        // clear LineItem values otherwise the next _repository.Add(rmaRequest); will crash
                        foreach (var rmaItem in rmaRequest.RmaReturnItems)
                        {
                            rmaItem.RmaLineItems[0].LineItem = null;
                        }
                        Repository.Add(rmaRequest);
                        // workaround:end1

                        InnerItem.RmaRequests.Add(rmaRequest);
                    }
                    else
                    {
                        item.ExchangeOrder = exchangeOrder;
                        OnUIThread(() => item.InjectFrom <CloneInjection>(rmaRequest));
                        Repository.Add(exchangeOrder);
                    }

                    DoSaveChanges1();

                    // workaround:begin2
                    // set right values after save
                    foreach (var rmaItem in rmaRequest.RmaReturnItems)
                    {
                        var newLineItem = InnerItem.OrderForms[0].LineItems.First(x1 => x1.LineItemId == rmaItem.RmaLineItems[0].LineItemId);
                        rmaItem.RmaLineItems[0].LineItem = newLineItem;
                    }
                    rmaRequest.ExchangeOrder = exchangeOrder;
                    // workaround:end2

                    var rmaRequestViewModel = _rmaRequestVmFactory.GetViewModelInstance(
                        new KeyValuePair <string, object>("rmaRequestItem", rmaRequest)
                        , new KeyValuePair <string, object>("parentViewModel", this));
                    RmaRequestViewModels.Add(rmaRequestViewModel);

                    // reinitialize changes
                    CloseAllSubscription();
                    SetAllSubscription();

                    // show created RmaRequest item
                    SelectedTabIndex = ReturnsTabIndex;

                    // open newly created ExchangeOrder
                    rmaRequestViewModel.ExchangeOrderViewCommand.Execute();
                }
            });
        }