public void OnDeliveryInfoInput(EkDeliveryInfo deliveryInfo) { StartIfNew(); _transaction.SetDeliveryInfo(deliveryInfo); _receiptData.DeliveryInfo = deliveryInfo; }
private void OnWizardNextCommand() { switch (_currentStep) { case CheckoutStepEnum.PersonalInfo: SetWizardStepValue(CheckoutStepEnum.PersonalInfo, _personalInfoStepData.FullName); GotoStep(CheckoutStepEnum.PhoneNumber); break; case CheckoutStepEnum.PhoneNumber: SetWizardStepValue(CheckoutStepEnum.PhoneNumber, _phoneNumberStepData.PhoneNumber); EkContext.EkProcess.OnCustomerInfoInput(new EkCustomerInfo() { FullName = _personalInfoStepData.FullName, Phone = PhoneNumberHelper.GetCleanedPhoneNumber(_phoneNumberStepData.PhoneNumber), }); GotoStep(CheckoutStepEnum.DeliveryInfo); break; case CheckoutStepEnum.DeliveryInfo: var deliveryValueBuilder = new StringBuilder(); switch (_deliveryInfoStepData.Type) { case EkDeliveryTypeEnum.DeliveryServiceStore: deliveryValueBuilder.Append("Самовывоз, Новая Почта"); break; case EkDeliveryTypeEnum.Courier: deliveryValueBuilder.Append("Курьер"); break; } deliveryValueBuilder.Append($", {_deliveryInfoStepData.Address.City}"); deliveryValueBuilder.Append($", {_deliveryInfoStepData.Address.AddressLine1}"); SetWizardStepValue(CheckoutStepEnum.DeliveryInfo, deliveryValueBuilder.ToString()); var ekDeliveryInfo = new EkDeliveryInfo { Type = _deliveryInfoStepData.Type ?? EkDeliveryTypeEnum.Courier, DeliveryService = _deliveryInfoStepData.DeliveryService, StoreId = _deliveryInfoStepData.StoreId, Address = new EkTransactionAddress() { City = _deliveryInfoStepData.Address.City, AddressLine1 = _deliveryInfoStepData.Address.AddressLine1, } }; EkContext.EkProcess.OnDeliveryInfoInput(ekDeliveryInfo); GotoStep(CheckoutStepEnum.OrderConfirmation); break; case CheckoutStepEnum.OrderConfirmation: SetWizardStepValue(CheckoutStepEnum.OrderConfirmation, "Подтверждено"); GotoStep(CheckoutStepEnum.PaymentInfo); break; case CheckoutStepEnum.PaymentInfo: EkContext.EkProcess.SelectedPaymentMethodInfo = _paymentInfoStepData.PaymentMethodInfo; EkContext.CompleteOrderCommand.Execute(null); break; } }