Im working on a fairly light weight client application (desktop app in .Net as connect to other applications maybe needed in the future) for tracking of RMAs within a business for the engineers, engineers will view and update the status in the application, customers will create/view RMAs on the website.
I want to know if my intended use of service and repository classes are correct. A web service provides the data in JSON format from which I can construct an RMAobject. This web service is accessed by http://myRMA.com/repairs/2234/RMA.JSON
Would the code to get the RMA sit within RMARepository class with a method like GetRMA(int RMAId), and should the RMARepository follow the singleton design pattern?
Whereas if the RMA is updated, i.e. Item is inspecting and pending a quote acceptance, is this completed in a service class, which calls a RMARepository to submit an update. Would the IsExists(int RMAId) be in this service class or be in the repository?
I am familiar with Presentation - Application (Logic) - Data Access - Data (Database) artitecture, and also with MVP. But i do wonder where the Service classes fit in.