public async ValueTask <(bool isSuccess, string error)> DeleteSubcategory(string categoryId, string subcategoryId) { var subcategory = await _repository.GetSubcategory(categoryId, subcategoryId); if (subcategory is null) { return( false, $"Что-то пошло не так, не удалось найти подкатегорию.\n\tКатегория: {categoryId}\n\tПодкатегория: {subcategoryId}" ); } foreach (var photo in subcategory.Photos) { await _photoSaver.RemoveFileFromRepository(photo, updateDB : false); } await _context.Entry(subcategory) .Collection(x => x.Products) .LoadAsync(); foreach (var product in subcategory.Products) { await _context.Entry(product) .Collection(x => x.Photos) .LoadAsync(); foreach (var photo in product.Photos) { await _photoSaver.RemoveFileFromRepository(photo, updateDB : false); } } await _repository.DeleteSubcategory(subcategory); return(true, null); }