Should I implement business logic on a Model or a ViewModel
<p>When I'm processing business logic in an MVVM app. Should I do this on the Model or the ViewModel?</p>

<p>For example, if I want to re-calculate costs after an Asset has been re-valued, should I operate on the Model?</p>

<p>Is there an advantage in doing this on the ViewModel instead?</p>

<p>What happens if I have a list of ViewModels, but I want to translate that into a list of Models so I can do some processing? I could expose the Model as a property of the ViewModel (and use that to build the list of Models). But that means that the View will be able to access properties of the original Model</p>