In a deep-fryer or heavy-bottomed pot, heat enough canola oil to come halfway up the sides of the pot, to 375 degrees F. Preheat the oven to 400 degrees F.
Put the flour, eggs, and bread crumbs in 3 separate shallow dishes. Add the water to egg dish. Dredge the eggplant slices through the flour, shaking off the excess. Then coat the eggplant with the eggs and then the bread crumbs. Put the breaded slices on a quarter sheet tray and set aside. Repeat the same procedure with the portobello caps. Working in several batches, fry the eggplant slices and mushroom slices in the fryer until golden brown, about 2 to 3 minutes. Remove them from the fryer to a half sheet tray lined with paper towels. Season the eggplant and mushrooms with the tablespoon of salt and pepper, after removing them from the fryer. Set aside.
In a medium-sized saucepan, whisk together the soup and the milk. Bring it to a simmer over low heat. Stir in the pesto and tomatoes until well incorporated. Season with salt and pepper, to taste. Remove from the heat and set aside.
Ladle a few ounces of pesto sauce on the bottom of a casserole dish. Put a layer of fried eggplant on top of the sauce. Spoon an even amount of tomatoes over the eggplant. Ladle a few ounces of pesto sauce over the tomatoes. Sprinkle with some Parmesan and add a few slices of mozzarella. Top the cheese with the fried mushrooms and more sauce. Repeat with the remainder of ingredients finishing with pesto sauce and cheese. Bake for 20 to 25 minutes until the cheese begins to brown and sauce is bubbling.