Shells: In a medium bowl mix together the flour, sugar and cinnamon. Rub in the butter until it is in pieces no larger than peas.
Make a well in the centre and pour in the egg, egg yolk, Marsala wine, vinegar and water. Mix with a fork until the dough becomes stiff then finish it by hand kneading on a clean surface. Add a bit more water if needed to incorporate all of the dry ingredients.
Knead for about 10 minutes then cover and refrigerate for 1 to 2 hours.
Divide the cannoli dough into thirds and flatten each one just enough to get through the pasta machine. Roll the dough through successively thinner settings until you have reached the thinnest setting. Dust lightly with flour if necessary.
Place the sheet of dough on a lightly floured surface. Using a form or large glass or bowl cut out about 10cm circles. Dust the circles with a light coating of flour. This will help you later in removing the shells from the tubes. Roll dough around cannoli tubes, sealing the edge with a bit of egg white.
Heat the oil to 180 degrees C in a deep-fryer or deep heavy frypan. Fry shells on the tubes a few at a time for 2 to 3 minutes until golden. Use tongs to turn as needed. Carefully remove using the tongs and place on a cake rack set over paper towels. Cool just long enough that you can handle the tubes then carefully twist the tube to remove the shell. Using a tea towel may help you get a better grip. Wash or wipe off the tubes and use them for more shells. Cooled shells can be placed in an airtight container and kept for up to 2 months. You should only fill them immediately or up to 1 hours before serving.
Filling: Stir together the ricotta cheese and icing sugar using a spoon. Fold in the diced citron and chocolate.
Use a pastry bag to pipe into shells filling from the centre to one end then doing the same from the other side. Dust with additional icing sugar and grated chocolate for garnish when serving.