private bool DeleteCore(params Domain.WorkFlow[] deleteds) { Guard.NotEmpty(deleteds, nameof(deleteds)); var result = false; var ids = deleteds.Select(x => x.WorkFlowId).ToArray(); using (UnitOfWork.Build(_workFlowRepository.DbContext)) { result = _workFlowRepository.DeleteMany(ids); //solution component _solutionComponentService.DeleteObject(deleteds.First().SolutionId, WorkFlowDefaults.ModuleName, ids); //localization _localizedLabelService.DeleteByObject(ids); //dependency objects _dependencyService.Delete(ids); foreach (var item in deleteds) { _eventPublisher.Publish(new ObjectDeletedEvent <Domain.WorkFlow>(WorkFlowDefaults.ModuleName, item)); } } return(result); }