Exemplo n.º 1
0
        private bool DeleteCore(IEnumerable <Domain.RibbonButton> deleteds, Func <Domain.RibbonButton, bool> validation)
        {
            Guard.NotEmpty(deleteds, nameof(deleteds));
            var result = true;

            foreach (var deleted in deleteds)
            {
                result = validation?.Invoke(deleted) ?? true;
            }
            if (result)
            {
                var ids = deleteds.Select(x => x.RibbonButtonId).ToArray();
                using (UnitOfWork.Build(_ribbonButtonRepository.DbContext))
                {
                    result = _ribbonButtonRepository.DeleteMany(ids);
                    //删除依赖项
                    _dependencyService.Delete(ids);
                    //localization
                    _localizedLabelService.DeleteByObject(ids);
                }
            }
            return(result);
        }