Пример #1
0
        /// <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);
        }