public List <T> RetriveAllTransactionsByType <T>() { var retriveAllTransactionsByType = new List <T>(); var lstResult = dao.ExecuteQueryProcedure(_mapper.GetRetriveStatement()); var dic = new Dictionary <string, object>(); if (lstResult.Count > 0) { var objs = _mapper.BuildObjects(lstResult, true); foreach (var c in objs) { retriveAllTransactionsByType.Add((T)Convert.ChangeType(c, typeof(T))); } } return(retriveAllTransactionsByType); }