private void LoadXmlData() { m_efSubCampaign = m_efDbModel.subcampaigns.FirstOrDefault(i => i.id == m_SubCampaignId); if (m_efSubCampaign == null) return; try { m_ContactStatusConfig = XmlUtility.GetXmlNodeDataAsList(m_efSubCampaign.xml_config_data, "/sub_campaign_config/contact/contact_status_dropdown", true); m_LeadStatusConfig = XmlUtility.GetXmlNodeDataAsList(m_efSubCampaign.xml_config_data, "/sub_campaign_config/account/account_lead_status_dropdown", true); m_CompanyStatusConfig = XmlUtility.GetXmlNodeDataAsList(m_efSubCampaign.xml_config_data, "/sub_campaign_config/account/account_status_dropdown", true); this.LoadContactStatuses(m_ContactStatusConfig); this.LoadLeadStatuses(m_LeadStatusConfig); this.LoadCompanyStatuses(m_CompanyStatusConfig); //tbxContactStatus.Text = XmlUtility.GetXmlNodeOuterData(m_efSubCampaign.xml_config_data, "/sub_campaign_config/contact/contact_status_dropdown"); //tbxLeadStatus.Text = XmlUtility.GetXmlNodeOuterData(m_efSubCampaign.xml_config_data, "/sub_campaign_config/account/account_lead_status_dropdown"); //tbxCompanyStatus.Text = XmlUtility.GetXmlNodeOuterData(m_efSubCampaign.xml_config_data, "/sub_campaign_config/account/account_status_dropdown"); tbxGeneralSettings.Text = XmlUtility.GetXmlNodeInnerData(m_efSubCampaign.xml_config_data, "/sub_campaign_config/general_settings"); //tbxLeadStatus.FormatOnLoad(); //tbxContactStatus.FormatOnLoad(); //tbxCompanyStatus.FormatOnLoad(); tbxGeneralSettings.FormatOnLoad(); } catch { } }
private void GetReportPageBaseData() { m_IsEmpty = false; if (this.gridView1.DataRowCount == null || this.gridView1.DataRowCount < 1) { BrightVision.Common.UI.NotificationDialog.Information("Reports", "No data to preview."); m_IsEmpty = true; return; } using (BrightPlatformEntities _efDbModel = new BrightPlatformEntities(m_DatabaseConnection) { CommandTimeout = 0 }) { m_eftConfigData = _efDbModel.view_configuration.FirstOrDefault(i => i.id == m_ViewConfigId); m_eftSubCampaign = _efDbModel.subcampaigns.FirstOrDefault(i => i.id == m_eftConfigData.subcampaign_id); m_eftCampaign = _efDbModel.campaigns.FirstOrDefault(i => i.id == m_eftSubCampaign.campaign_id); m_eftCustomer = _efDbModel.customers.FirstOrDefault(i => i.id == m_eftCampaign.customer_id); _efDbModel.Detach(m_eftConfigData); _efDbModel.Detach(m_eftSubCampaign); _efDbModel.Detach(m_eftCampaign); _efDbModel.Detach(m_eftCustomer); _efDbModel.FIUpdateContactTitles(); /** * if send email, get data for sub_campaign_account_list and final_list. */ if (m_CallingEnvironment == eCallingEnvironment.BrightSales_SendEmail && m_AccountId > 0) { m_eftFinalList = _efDbModel.final_lists.FirstOrDefault(i => i.sub_campaign_id == m_eftSubCampaign.id); if (m_eftFinalList != null) { _efDbModel.Detach(m_eftFinalList); m_eftSubCampaignAccountList = _efDbModel.sub_campaign_account_lists.FirstOrDefault(i => i.final_list_id == m_eftFinalList.id && i.account_id == m_AccountId ); _efDbModel.Detach(m_eftSubCampaignAccountList); } } } if (m_eftConfigData == null || m_eftConfigData.report_layout_config == null) { WaitDialog.Close(); if (m_IsWebPortalCall) throw new Exception("No layout available for the selected view."); BrightVision.Common.UI.NotificationDialog.Information("Reports", "No layout available for this view."); return; } if (string.IsNullOrEmpty(m_eftConfigData.report_data_config)) { WaitDialog.Close(); if (m_IsWebPortalCall) throw new Exception("No parameter layout has been set for this report."); BrightVision.Common.UI.NotificationDialog.Information("Reports", "No parameter layout has been set for this report."); return; } m_ReportPageTemplateProperty = SerializeUtility.DeserializeFromXml<TemplateProperty>(m_eftConfigData.report_data_config); m_ReportPageDataSet = this.GetReportDataSet(m_ReportPageTemplateProperty); /** * if has sort info, then apply. */ #region Sorting Logic if (!string.IsNullOrEmpty(m_GridSortInfo)) { string sortExpression = this.GetSortExpression(gridView1); if (!string.IsNullOrEmpty(sortExpression)) { string[] _SortInfoCollection = sortExpression.Split(';'); ReportDataSet _rdsTemporary = (ReportDataSet)m_ReportPageDataSet.Clone(); DataSet _dsSortedData = new DataSet(); Dictionary<string, List<string>> _TableSortRules = new Dictionary<string, List<string>>(); /** * group all sort rules by table. */ foreach (string _SortInfo in _SortInfoCollection) { string[] _item = _SortInfo.Split('|'); string _FieldNameInfo = this.GetTableFieldName(_item[0].ToString()); if (!string.IsNullOrEmpty(_FieldNameInfo)) { string[] _val = _FieldNameInfo.Split('|'); string _TableName = _val[0]; string _FieldName = _val[1]; /** * create new table sort rule. * else, update existing table sort rule. * * format: * <column_name1>|<sort_rule1>;<column_name2>|<sort_rule2>; and so on ... * * this would later be processed by splitting the sort rules by semicolon(;), * then split by bar(|). */ string _ColumnName = m_ReportPageDataSet.Tables[_TableName].Columns[_FieldName].ColumnName; string _SortOrder = _item[1].ToString(); if (!_TableSortRules.ContainsKey(_TableName)) _TableSortRules.Add(_TableName, new List<string>()); _TableSortRules[_TableName].Add(string.Format("{0} {1}", _ColumnName, _SortOrder)); } } /** * set the sorting rules from KeyValuePair<string, List<string>> from _TableSortRules * string = table name * List<string> = sort rules */ foreach (KeyValuePair<string, List<string>> _pair in _TableSortRules) { DataTable _dtToSort = m_ReportPageDataSet.Tables[_pair.Key]; _dtToSort.DefaultView.Sort = string.Join(",", _TableSortRules[_pair.Key].ToArray()); _dsSortedData.Tables.Add(_dtToSort.DefaultView.ToTable()); } /** * copy all tables to the temporary report data set. * then overwrite the original report data set with the * temporary report dataset, since it contains the sorted * tables that the report needs. * * order of the tables, according to relationship: * 1. account * 2. accountdynamic * 3. accountstatic * 4. contact * 5. contactdynamic * 6. contactstatic * 7. clientinfo * 8. customers */ if (_dsSortedData.Tables["account"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["account"].Rows, "account"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["account"].Rows, "account"); if (_dsSortedData.Tables["accountdynamic"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["accountdynamic"].Rows, "accountdynamic"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["accountdynamic"].Rows, "accountdynamic"); if (_dsSortedData.Tables["accountstatic"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["accountstatic"].Rows, "accountstatic"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["accountstatic"].Rows, "accountstatic"); if (_dsSortedData.Tables["contact"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["contact"].Rows, "contact"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["contact"].Rows, "contact"); if (_dsSortedData.Tables["contactdynamic"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["contactdynamic"].Rows, "contactdynamic"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["contactdynamic"].Rows, "contactdynamic"); if (_dsSortedData.Tables["contactstatic"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["contactstatic"].Rows, "contactstatic"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["contactstatic"].Rows, "contactstatic"); if (_dsSortedData.Tables["clientinfo"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["clientinfo"].Rows, "clientinfo"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["clientinfo"].Rows, "clientinfo"); if (_dsSortedData.Tables["customers"] != null) this.CopyTableRows(ref _rdsTemporary, _dsSortedData.Tables["customers"].Rows, "customers"); else this.CopyTableRows(ref _rdsTemporary, m_ReportPageDataSet.Tables["customers"].Rows, "customers"); m_ReportPageDataSet = null; m_ReportPageDataSet = _rdsTemporary; } } #endregion }
private void btnSaveReportPerPdf_Click(object sender, EventArgs e) { WaitDialog.Show("Sending web service request ..."); List<int> _SubCampaignIds = new List<int>(); _SubCampaignIds.Add(m_SubCampaignId); using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) { m_eftConfigData = _efDbContext.view_configuration.FirstOrDefault(i => i.id == m_ViewConfigId); m_eftSubCampaign = _efDbContext.subcampaigns.FirstOrDefault(i => i.id == m_eftConfigData.subcampaign_id); m_eftCampaign = _efDbContext.campaigns.FirstOrDefault(i => i.id == m_eftSubCampaign.campaign_id); m_eftCustomer = _efDbContext.customers.FirstOrDefault(i => i.id == m_eftCampaign.customer_id); _efDbContext.Detach(m_eftConfigData); _efDbContext.Detach(m_eftSubCampaign); _efDbContext.Detach(m_eftCampaign); _efDbContext.Detach(m_eftCustomer); string _GridSortInfo = this.GetSerializedSortInfo(gridView1.SortInfo); string _ColumnsInfo = this.GetSerializedColumnsInfo(); short _CallingEnvironment = (short)(m_CallingApplication == eCallingApplication.BrightManager ? eCallingEnvironment.BrightManager_SaveAccountPerPdf : eCallingEnvironment.BrightSales_SaveAccountPerPdf); Guid _RequestId = Guid.NewGuid(); serverside_report_requests _eftRequest = new serverside_report_requests() { id = _RequestId, calling_environment = _CallingEnvironment, display_mode = (short)m_ViewType, campaign_info = string.Format("{0}>{1}>{2}", m_eftCustomer.customer_name, m_eftCampaign.campaign_name, m_eftSubCampaign.title ), sub_campaign_ids = string.Join(",", _SubCampaignIds), view_config_id = m_ViewConfigId, account_id = 0, active_filter_string = gridView1.ActiveFilterString, sort_info = _GridSortInfo, columns_info = _ColumnsInfo, requested_by = UserSession.CurrentUser.UserId, requested_on = DateTime.Now }; _efDbContext.serverside_report_requests.AddObject(_eftRequest); _efDbContext.SaveChanges(); _efDbContext.Detach(_eftRequest); ReportsUtility.CreatePdfFilesPerAccount(_RequestId.ToString()); } WaitDialog.Close(); //WaitDialog.Show("Generating PDF reports ..."); //this.GenerateReports(); //WaitDialog.Close(); }
private void btnShowReport_Click(object sender, EventArgs e) { WaitDialog.Show("Sending web service request ..."); List<int> _SubCampaignIds = new List<int>(); _SubCampaignIds.Add(m_SubCampaignId); using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) { _efDbContext.FIClearUserReuests(UserSession.CurrentUser.UserId); m_eftConfigData = _efDbContext.view_configuration.FirstOrDefault(i => i.id == m_ViewConfigId); m_eftSubCampaign = _efDbContext.subcampaigns.FirstOrDefault(i => i.id == m_eftConfigData.subcampaign_id); m_eftCampaign = _efDbContext.campaigns.FirstOrDefault(i => i.id == m_eftSubCampaign.campaign_id); m_eftCustomer = _efDbContext.customers.FirstOrDefault(i => i.id == m_eftCampaign.customer_id); _efDbContext.Detach(m_eftConfigData); _efDbContext.Detach(m_eftSubCampaign); _efDbContext.Detach(m_eftCampaign); _efDbContext.Detach(m_eftCustomer); Guid _RequestId = Guid.NewGuid(); string _GridSortInfo = this.GetSerializedSortInfo(gridView1.SortInfo); string _ColumnsInfo = this.GetSerializedColumnsInfo(); serverside_report_requests _eftRequest = new serverside_report_requests() { id = _RequestId, calling_environment = (short)m_CallingEnvironment, display_mode = (short)m_ViewType, //calling_environment = (short)ReportsUtility.eCallingEnvironment.BrightSales_ViewDisplay, //display_mode = (short)ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData, campaign_info = string.Format("{0}>{1}>{2}", m_eftCustomer.customer_name, m_eftCampaign.campaign_name, m_eftSubCampaign.title ), sub_campaign_ids = string.Join(",", _SubCampaignIds), view_config_id = m_ViewConfigId, account_id = 0, active_filter_string = gridView1.ActiveFilterString, sort_info = _GridSortInfo, columns_info = _ColumnsInfo, requested_by = UserSession.CurrentUser.UserId, requested_on = DateTime.Now }; _efDbContext.serverside_report_requests.AddObject(_eftRequest); _efDbContext.SaveChanges(); _efDbContext.Detach(_eftRequest); ReportsUtility.SendReportRequest(_RequestId.ToString()); } WaitDialog.Close(); //WaitDialog.Show("Sending web service request ..."); //using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) { // serverside_report_requests _eftRequest = new serverside_report_requests() { // calling_environment = (short)ReportsUtility.eCallingEnvironment.BrightSales_ViewDisplay, // display_mode = (short)ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData, // campaign_info = m_CampaignInfo, // //sub_campaign_ids = string.Join(",", pSubCampaignIds), // view_config_id = m_ViewConfigId, // account_id = 0, // requested_by = UserSession.CurrentUser.UserId, // requested_on = DateTime.Now // }; // _efDbContext.serverside_report_requests.AddObject(_eftRequest); // string _RequestId = _eftRequest.id.ToString(); // _efDbContext.Detach(_eftRequest); // this.SendReportRequest(_RequestId); //} //WaitDialog.Close(); //WaitDialog.Show("Loading report preview ..."); //this.ReportPagePreview(); //WaitDialog.Close(); }