I'm building a prototype web application using ASP.NET MVC 5. Part of the application is the display of a grid of records, each of which has a button action to 'Archive' that record. Another page displays the archived records. A WCF service provides the Model and persistence.
I have built a controller for each of the pages and in each controller I retrieve all of the records and then select either the current or archived records and display only those. There is an additional method on the current records Controller to set the Archive status of the record and then redisplay the current records.
I suspect that this is a potentially poor design as business decisions are being made in the Controllers and not the Model. Should I instead create a Model 'layer' in the MVC application with methods that return either current or archived records as required, or update the status of records, thus 'wrapping' the WCF Service, or is this adding a layer of complexity where it is not necessary?
What is the pure decision to be made based on the MVC concept? Should any business decision (even one as simple as filtering records based on status) be made in the Model and not the Controller?