//public static IDataReader GetViews(int view_id, ExportView.eExportViewDisplayMode pDisplayMode = ExportView.eExportViewDisplayMode.Default, string pDatabaseConnection = "") public static Dictionary<string, string> GetViews(int view_id, ExportView.eExportViewDisplayMode pDisplayMode = ExportView.eExportViewDisplayMode.Default, string pDatabaseConnection = "", int pAccountId = 0) { return GetPartialViews(view_id, pDisplayMode, pDatabaseConnection, pAccountId); }
//private static IDataReader GetPartialViews(int view_id, ExportView.eExportViewDisplayMode pDisplayMode = ExportView.eExportViewDisplayMode.Default, string pDatabaseConnection = "") private static Dictionary<string, string> GetPartialViews(int view_id, ExportView.eExportViewDisplayMode pDisplayMode = ExportView.eExportViewDisplayMode.Default, string pDatabaseConnection = "", int pAccountId = 0) { /** * reason for this is that web portal calls does not recognize user session instance. * so we needed to override the connection string to accept both web portal and application level. */ if (string.IsNullOrEmpty(pDatabaseConnection)) pDatabaseConnection = UserSession.ProviderConnection; else { pDatabaseConnection = pDatabaseConnection.Replace(""", "'"); pDatabaseConnection = pDatabaseConnection.Replace("metadata=res://*/BrightPlatform.csdl|res://*/BrightPlatform.ssdl|res://*/BrightPlatform.msl;provider=System.Data.SqlClient;provider connection string=", ""); pDatabaseConnection = pDatabaseConnection.Replace("\"", ""); } using (SqlConnection objConnection = new SqlConnection(pDatabaseConnection)) { try { IDataReader oReader = null; DataTable _dtData = new DataTable(); objConnection.Open(); using (SqlCommand cmd = new SqlCommand()) { bool _AccountsAndContactsHavingSubCampaignCallAttemps = false; int? _AccountId = null; if (pDisplayMode == ExportView.eExportViewDisplayMode.AccountsAndContactsHavingSubCampaignCallAttemps) _AccountsAndContactsHavingSubCampaignCallAttemps = true; if (pAccountId > 0) _AccountId = pAccountId; cmd.Connection = objConnection; cmd.CommandTimeout = 0; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "bvGetViewConfigData_sp"; cmd.Parameters.Add(new SqlParameter("view_id", view_id)); cmd.Parameters.Add(new SqlParameter("p_accounts_and_contacts_that_have_call_attemps_only", _AccountsAndContactsHavingSubCampaignCallAttemps)); cmd.Parameters.Add(new SqlParameter("p_account_id", _AccountId)); oReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); /** * extract the xml data into these separate xml strings. * dialog, schedule, account, contact, and relation data. * build the dictionary containing the xml data. */ Dictionary<string, string> _dcXmlData = new Dictionary<string, string>(); _dcXmlData.Add("dialogdata", string.Empty); _dcXmlData.Add("scheduledata", string.Empty); _dcXmlData.Add("relationdata", string.Empty); _dcXmlData.Add("accountdata", string.Empty); _dcXmlData.Add("contactdata", string.Empty); if (oReader == null) return null; while (oReader.Read()) { string _data = oReader["dialogdata"].ToString(); if (!string.IsNullOrEmpty(_data)) _dcXmlData["dialogdata"] = XmlUtility.RemoveInvalidXmlData(_data); } if (oReader.NextResult()) { while (oReader.Read()) { string _data = oReader["scheduledata"].ToString(); if (!string.IsNullOrEmpty(_data)) _dcXmlData["scheduledata"] = XmlUtility.RemoveInvalidXmlData(_data); } } if (oReader.NextResult()) { while (oReader.Read()) { string _data = oReader["relationdata"].ToString(); if (!string.IsNullOrEmpty(_data)) _dcXmlData["relationdata"] = XmlUtility.RemoveInvalidXmlData(_data); } } if (oReader.NextResult()) { while (oReader.Read()) { string _data = oReader["accountdata"].ToString(); if (!string.IsNullOrEmpty(_data)) _dcXmlData["accountdata"] = XmlUtility.RemoveInvalidXmlData(_data); } } if (oReader.NextResult()) { while (oReader.Read()) { string _data = oReader["contactdata"].ToString(); if (!string.IsNullOrEmpty(_data)) _dcXmlData["contactdata"] = XmlUtility.RemoveInvalidXmlData(_data); } } return _dcXmlData; } } catch { if (objConnection.State != ConnectionState.Closed) objConnection.Close(); System.Threading.Thread.Sleep(3000); return GetPartialViews(view_id); } } }
//public static IDataReader GetViews(int view_id, ExportView.eExportViewDisplayMode pDisplayMode = ExportView.eExportViewDisplayMode.Default) public static Dictionary<string, string> GetViews(int view_id, ExportView.eExportViewDisplayMode pDisplayMode = ExportView.eExportViewDisplayMode.Default) { return GetPartialViews(view_id, pDisplayMode, null, 0); }