I'm sure there is a really simple answer to this, but I could do with some best practice advice on the following please...
I have a simple business object based on BusinessBase. Let's assume, to keep things easy, that its associated with a Customer, and is called BoCustomer. Ideally I want to be able to fetch a customer based on two parameters, firstly by its integer id, or secondly, by its string customer reference.
So, I have two public methods in my business object, the first being BoCustomer.GetByCustomerID(int customerID), and the second being BoCustomer.GetByCustomerReference(string customerReference).
Both use the SingleCriteria class to pass the appropriate reference parameter to the DataPortal_Fetch() method of the BO.
Given that I call a different stored procedure depending on whether I am getting a customer by its id or by its reference, and I am dealing with data of different types, I have assumed that two data portal fetch methods is the right approach. One requires a SingleCriteria<BoCustomer, int> parameter, and the other a SingleCriteria<BoCustomer, string> . One calls the stored procedure to fetch a customer by its ID, and the other calls the stored procedure to fetch a customer by its reference.
Is this the right way to go, or is there a better way to do it...?
Many thanks for that Rocky, I just wanted to be sure I was heading down the right road.
And yes, I would have a common Load(SqlDataReader dr) method that loads the BO properties irrespective of which method was originally called to query the DB.
Many thanks for your response,
Copyright (c) Marimer LLC