public List <T> RetrieveAvailable <T>() { var listCategories = new List <T>(); var lstResult = dao.ExecuteQueryProcedure(mapper.GetRetrieveAvailable()); var dic = new Dictionary <string, object>(); if (lstResult.Count > 0) { var objs = mapper.BuildObjects(lstResult); foreach (var c in objs) { listCategories.Add((T)Convert.ChangeType(c, typeof(T))); } } return(listCategories); }