private void InitializeGatewayValuesForSave()
        {
            var RemovedItems = InnerItem.ShippingGatewayPropertyValues.Where(
                x => PropertyValues.All(x1 => x1.InnerItem.Name != x.Name)).ToList();

            foreach (var removedItem in RemovedItems)
            {
                InnerItem.ShippingGatewayPropertyValues.Remove(removedItem);
            }

            if (PropertyValues == null)
            {
                return;
            }

            foreach (var currentItem in PropertyValues)
            {
                var item = InnerItem.ShippingGatewayPropertyValues.FirstOrDefault(x => x.Name == currentItem.InnerItem.Name);
                if (item == null)
                {
                    item = EntityFactory.CreateEntity <ShippingGatewayPropertyValue>();
                    InnerItem.ShippingGatewayPropertyValues.Add(item);
                }
                item.InjectFrom(currentItem.InnerItem);
            }

            if (!IsWizardMode)
            {
                Repository.UnitOfWork.Commit();
            }
        }
        public void InitializeGatewayValuesForSave()
        {
            var RemovedItems = InnerItem.PaymentMethodPropertyValues.Where(
                x => PropertyValues.All(x1 => x1.InnerItem.Id != x.Name)).ToList();

            foreach (var removedItem in RemovedItems)
            {
                InnerItem.PaymentMethodPropertyValues.Remove(removedItem);
                Repository.Attach(removedItem);
                Repository.Remove(removedItem);
            }

            foreach (var currentItem in PropertyValues)
            {
                var item = InnerItem.PaymentMethodPropertyValues.FirstOrDefault(x => x.Name == currentItem.InnerItem.Id);
                if (item == null)
                {
                    item = EntityFactory.CreateEntity <PaymentMethodPropertyValue>();
                    InnerItem.PaymentMethodPropertyValues.Add(item);
                }
                item.InjectFrom(currentItem.InnerItem);
            }

            if (!IsWizardMode)
            {
                Repository.UnitOfWork.Commit();
            }
        }