public virtual void Delete(string[] cartIds)
        {
            var carts = GetByIds(cartIds);

            using (var repository = _repositoryFactory())
            {
                foreach (var cart in carts)
                {
                    _changingEventPublisher.Publish(new CartChangeEvent(EntryState.Deleted, cart, cart));
                }

                repository.RemoveCarts(cartIds);

                foreach (var cart in carts)
                {
                    _dynamicPropertyService.DeleteDynamicPropertyValues(cart);
                }

                repository.UnitOfWork.Commit();

                foreach (var cart in carts)
                {
                    _changedEventPublisher.Publish(new CartChangedEvent(EntryState.Deleted, cart, cart));
                }
            }
        }
        public void Delete(string[] ids)
        {
            using (var repository = _repositoryFactory())
            {
                var stores   = GetByIds(ids);
                var dbStores = repository.GetStoresByIds(ids);

                foreach (var store in stores)
                {
                    _commerceService.DeleteSeoForObject(store);
                    _dynamicPropertyService.DeleteDynamicPropertyValues(store);
                    //Deep remove settings
                    _settingManager.RemoveEntitySettings(store);

                    var dbStore = dbStores.FirstOrDefault(x => x.Id == store.Id);
                    if (dbStore != null)
                    {
                        repository.Remove(dbStore);
                    }
                }
                CommitChanges(repository);
                //Invalidate module cache region
                _cacheManager.ClearRegion("StoreModuleRegion");
            }
        }
Beispiel #3
0
        public void Delete(string[] ids)
        {
            using (var repository = _repositoryFactory())
            {
                foreach (var id in ids)
                {
                    var members = GetByIds(ids);
                    foreach (var member in members)
                    {
                        _dynamicPropertyService.DeleteDynamicPropertyValues(member);
                    }

                    var dbMembers = repository.GetMembersByIds(ids);
                    foreach (var dbMember in dbMembers)
                    {
                        foreach (var relation in dbMember.MemberRelations.ToArray())
                        {
                            repository.Remove(relation);
                        }
                        repository.Remove(dbMember);
                    }
                }
                CommitChanges(repository);
            }
        }
Beispiel #4
0
        public void DeleteContentItems(string[] ids)
        {
            var items = GetContentItemsByIds(ids);

            foreach (var item in items)
            {
                _dynamicPropertyService.DeleteDynamicPropertyValues(item);
            }
            using (var repository = _repositoryFactory())
            {
                repository.RemoveContentItems(ids);
                repository.UnitOfWork.Commit();
            }
        }
        public void DeleteContents(string[] ids)
        {
            using (var repository = _repositoryFactory())
            {
                foreach (var id in ids)
                {
                    var content = GetContentItemById(id);
                    _dynamicPropertyService.DeleteDynamicPropertyValues(content);

                    var entity = repository.GetContentItemById(id);
                    repository.Remove(entity);
                }
                CommitChanges(repository);
            }
        }
Beispiel #6
0
        public void Delete(string[] ids)
        {
            using (var repository = _repositoryFactory())
            {
                foreach (var id in ids)
                {
                    var organization = GetById(id);
                    _dynamicPropertyService.DeleteDynamicPropertyValues(organization);

                    var entity = repository.GetOrganizationById(id);
                    repository.Remove(entity);
                }
                CommitChanges(repository);
            }
        }
        protected virtual void TryDeleteDynamicPropertiesForRemovedLineItems(GenericChangedEntry <ShoppingCart> changedEntry)
        {
            var originalDynPropOwners = changedEntry.OldEntry.GetFlatObjectsListWithInterface <IHasDynamicProperties>()
                                        .Distinct()
                                        .ToList();
            var modifiedDynPropOwners = changedEntry.NewEntry.GetFlatObjectsListWithInterface <IHasDynamicProperties>()
                                        .Distinct()
                                        .ToList();
            var removingDynPropOwners = new List <IHasDynamicProperties>();
            var hasDynPropComparer    = AnonymousComparer.Create((IHasDynamicProperties x) => x.Id);

            modifiedDynPropOwners.CompareTo(originalDynPropOwners, hasDynPropComparer, (state, changed, orig) =>
            {
                if (state == EntryState.Deleted)
                {
                    _dynamicPropertyService.DeleteDynamicPropertyValues(orig);
                }
            });
        }
Beispiel #8
0
        public void Delete(string[] ids)
        {
            using (var repository = _repositoryFactory())
            {
                foreach (var id in ids)
                {
                    var store = GetById(id);
                    _commerceService.DeleteSeoForObject(store);
                    _dynamicPropertyService.DeleteDynamicPropertyValues(store);
                    //Deep remove settings
                    _settingManager.RemoveEntitySettings(store);

                    var entity = repository.GetStoreById(id);
                    repository.Remove(entity);
                }

                CommitChanges(repository);
            }
        }
Beispiel #9
0
        public void Delete(string[] orderIds)
        {
            using (var repository = _repositoryFactory())
            {
                foreach (var orderId in orderIds)
                {
                    var dbOrder = repository.GetCustomerOrderById(orderId, CustomerOrderResponseGroup.Full);
                    if (dbOrder != null)
                    {
                        var order = GetById(orderId, CustomerOrderResponseGroup.Full);

                        _eventPublisher.Publish(new OrderChangeEvent(Platform.Core.Common.EntryState.Deleted, order, order));

                        _dynamicPropertyService.DeleteDynamicPropertyValues(order);
                        repository.Remove(dbOrder);
                    }
                }
                repository.UnitOfWork.Commit();
            }
        }
Beispiel #10
0
        public void Delete(string[] cartIds)
        {
            using (var repository = _repositoryFactory())
            {
                foreach (var id in cartIds)
                {
                    var cart = GetById(id);

                    _eventPublisher.Publish(new CartChangeEvent(Platform.Core.Common.EntryState.Deleted, cart, cart));

                    _dynamicPropertyService.DeleteDynamicPropertyValues(cart);

                    var entity = repository.GetShoppingCartById(id);
                    if (entity != null)
                    {
                        repository.Remove(entity);
                    }
                }
                repository.UnitOfWork.Commit();
            }
        }
Beispiel #11
0
        public virtual void Delete(string[] cartIds)
        {
            var carts = GetByIds(cartIds);

            using (var repository = _repositoryFactory())
            {
                //Raise domain events before deletion
                var changedEntries = carts.Select(x => new GenericChangedEntry <ShoppingCart>(x, EntryState.Deleted));
                _eventPublisher.Publish(new CartChangeEvent(changedEntries));

                repository.RemoveCarts(cartIds);

                foreach (var cart in carts)
                {
                    _dynamicPropertyService.DeleteDynamicPropertyValues(cart);
                }
                repository.UnitOfWork.Commit();
                //Raise domain events after deletion
                _eventPublisher.Publish(new CartChangedEvent(changedEntries));
            }
        }
        public void Delete(string[] ids)
        {
            using (var repository = _repositoryFactory())
            {
                foreach (var id in ids)
                {
                    var store = GetById(id);
                    _dynamicPropertyService.DeleteDynamicPropertyValues(store);
                    //Deep remove settings
                    _settingManager.RemoveEntitySettings(store);

                    var entity = repository.GetStoreById(id);
                    repository.Remove(entity);

                    //Reset cache
                    var cacheKey = CacheKey.Create("StoreModule", "GetById", id);
                    _cacheManager.Remove(cacheKey);
                }

                CommitChanges(repository);
            }
        }