Пример #1
0
 //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);
 }
Пример #2
0
        //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("&quot;", "'");
                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);
                }
            }
        }
Пример #3
0
 //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);
 }