public class AccountHoldingStatementData : ReportData { [DataObjectMethod(DataObjectMethodType.Select, true)] public List GetAccountHoldingStatementData(int? batchID = null, int? productID = null, int? fundID = null, int? classID = null, int? userID = null, int? investorID = null, string accountNo = null, string transactionNo = null, DateTime? fromDate = null, DateTime? toDate = null, string sqlConnStr = null) { try { // Init Common Request Params object ReportRequestParams reqParams = new ReportRequestParams { InvestorID = investorID, ClassID = classID, TransactionNo = transactionNo, FromDate = fromDate, ToDate = toDate, AccountNo = accountNo, ProductID = productID, UserID = userID, FundID = fundID, BatchID = batchID, Mapper = new MapperConfiguration(cfg => { cfg.CreateMap() .ForMember(destination => destination.effectiveDateFrom, opts => opts.MapFrom(source => source.FromDate)) .ForMember(destination => destination.effectiveDateTo, opts => opts.MapFrom(source => source.ToDate)) .ForMember(destination => destination.accountNumber, opts => opts.MapFrom(source => source.AccountNo)); }).CreateMapper() }; // Set Db Connection Str Dynamically SetDbConnStr(sqlConnStr); // Map to SPROC input params InvestorHoldingSummaryParameter rptParams = reqParams.To(reqParams.Mapper); // Query & Return Data return RunQuery(() => Query.InvestorHoldingSummary(rptParams)).Result; } catch (Exception ex) { Debug.WriteLine(ex); throw; } } }