public async Task <bool> DeleteUnitAsync(int unitId, CancellationToken cancellationToken = default(CancellationToken)) { var unit = await _unitsRepository.GetByIdAsync(unitId); if (unit != null) { var states = await _unitStatesRepository.GetAllStatesByUnitIdAsync(unitId); if (states != null && states.Any()) { foreach (var unitState in states) { await _unitStatesRepository.DeleteAsync(unitState, cancellationToken); } } await _unitsRepository.DeleteAsync(unit, cancellationToken); _eventAggregator.SendMessage <DepartmentSettingsUpdateEvent>(new DepartmentSettingsUpdateEvent() { DepartmentId = unit.DepartmentId }); return(true); } return(false); }