/// <summary> /// Gets the payment table. /// </summary> /// <param name="claimFieldDoc">The claim field document.</param> /// <returns></returns> public PaymentTableContainer GetPaymentTable(ClaimFieldDoc claimFieldDoc) { PaymentTableContainer paymentTableContainer = new PaymentTableContainer { ClaimFieldValues = new List <ClaimFieldValue>() }; if (claimFieldDoc != null) { //holds the response string finalStrXml = string.Empty; //Checks for Payers, if payers exists stores it in DB if (claimFieldDoc.PageSetting != null && claimFieldDoc.PageSetting.SearchCriteriaList != null && claimFieldDoc.PageSetting.SearchCriteriaList.Any()) { finalStrXml = claimFieldDoc.XmlSerialize(); } // Initialize the Stored Procedure _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetPaymentTable"); _databaseCommandObj.CommandTimeout = claimFieldDoc.SessionTimeOut; // Pass parameters to Stored Procedure(i.e., @ParamName), add values for _databaseObj.AddInParameter(_databaseCommandObj, "@ClaimFieldDocID", DbType.Int64, claimFieldDoc.ClaimFieldDocId); _databaseObj.AddInParameter(_databaseCommandObj, "@UserName", DbType.String, claimFieldDoc.UserName); // ReSharper disable once PossibleNullReferenceException _databaseObj.AddInParameter(_databaseCommandObj, "@Take", DbType.Int32, claimFieldDoc.PageSetting.Take); _databaseObj.AddInParameter(_databaseCommandObj, "@Skip", DbType.Int32, claimFieldDoc.PageSetting.Skip); _databaseObj.AddInParameter(_databaseCommandObj, "@SortField", DbType.String, claimFieldDoc.PageSetting.SortField); _databaseObj.AddInParameter(_databaseCommandObj, "@SortDirection", DbType.String, claimFieldDoc.PageSetting.SortDirection); _databaseObj.AddInParameter(_databaseCommandObj, "@XmlSearchCriteria", DbType.Xml, finalStrXml); // Retrieve the results of the Stored Procedure in Dataset DataSet paymentTableDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj); if (paymentTableDataSet.IsTableDataPopulated() && paymentTableDataSet.Tables.Count > 1) { paymentTableContainer.Total = Convert.ToInt32(paymentTableDataSet.Tables[0].Rows[0][0]); // Bind Claimfield Value Data paymentTableContainer.ClaimFieldValues = new List <ClaimFieldValue>(); paymentTableContainer.ClaimFieldValues = (from DataRow row in paymentTableDataSet.Tables[1].Rows select new ClaimFieldValue { Identifier = Convert.ToString(row["Identifier"]), Value = Convert.ToString(row["Value"]) }).ToList(); } } return(paymentTableContainer); }