private void LoadCampaignList(eCampaignListLoadCallee pLoadType) { /** * unsubscribe this event first so that only data source change * will be triggered. this to avoid double calls to related modules * when changing views or rows or data source. */ this.SetGridChangeRowEvent(false); int _FocusedRow = gvCampaignList.FocusedRowHandle; DateTime logDate1 = DateTime.UtcNow; m_CampaignListSelectedRow = 0; /** * set this flag to let know the dialog component that a new campaign list * has been loaded, thus, needing to create another dialog instance based * on this loaded campaign. */ if (pLoadType == eCampaignListLoadCallee.CampaignListChange || pLoadType == eCampaignListLoadCallee.EventLogOnLoad) m_BrightSalesProperty.CampaignBooking.Questionnaire.State = SelectionProperty.DialogEditorState.Empty; try { m_lsmsCampaignListData = null; m_efDbModel = null; m_efDbModel = new BrightPlatformEntities(UserSession.EntityConnection) { CommandTimeout = 0 }; gcCampaignList.DataSource = null; gvCampaignList.Columns.Clear(); gvCampaignList.FindFilterText = string.Empty; lblTotalRows.Text = "Records: 0"; this.InitializeCampaignListControls(false); this.ClearGridFilter(); if (m_BrightSalesProperty.CampaignList.CampaignListMode == SelectionProperty.CampaignListMode.CompaniesOnly) { m_efDbModel.FIPopulateCampaignListCompanies(SubCampaignId, UserSession.CurrentUser.UserId); int _final_list_id = m_efDbModel.final_lists.FirstOrDefault(i => i.sub_campaign_id == SubCampaignId).id; m_lsmsCampaignListData = new LinqServerModeSource() { DefaultSorting = "id", KeyExpression = "uid", QueryableSource = m_efDbModel.vw_campaign_list_companies.Where(i => i.final_list_id == _final_list_id && i.user_id == UserSession.CurrentUser.UserId ).AsQueryable() //QueryableSource = m_efDbModel.FIGetVwCampaignListCompanies(_final_list_id, UserSession.CurrentUser.UserId).ToList().AsQueryable() }; m_lsmsCampaignListData.ExceptionThrown += new LinqServerModeExceptionThrownEventHandler(_lsmsCampaignListData_ExceptionThrown); m_lsmsCampaignListData.InconsistencyDetected += new LinqServerModeInconsistencyDetectedEventHandler(_lsmsCampaignListData_InconsistencyDetected); //gcCampaignList.DataSource = m_efDbModel.FIGetVwCampaignListCompanies(_final_list_id, UserSession.CurrentUser.UserId); /** / m_lsmsCampaignListData = new LinqServerModeSource() { DefaultSorting = "id", KeyExpression = "uid", QueryableSource = m_efDbModel.FIGetVwCampaignListCompanies(_final_list_id, UserSession.CurrentUser.UserId).ToList().AsQueryable() }; m_lsmsCampaignListData.ExceptionThrown += new LinqServerModeExceptionThrownEventHandler(_lsmsCampaignListData_ExceptionThrown); m_lsmsCampaignListData.InconsistencyDetected += new LinqServerModeInconsistencyDetectedEventHandler(_lsmsCampaignListData_InconsistencyDetected); /**/ gcCampaignList.DataSource = m_lsmsCampaignListData; gvCampaignList.Columns["uid"].Visible = false; gvCampaignList.Columns["user_id"].Visible = false; gvCampaignList.Columns["id"].Visible = false; gvCampaignList.Columns["account_id"].Visible = false; gvCampaignList.Columns["locked"].Visible = false; gvCampaignList.Columns["locked_by"].Visible = false; gvCampaignList.Columns["locked_timestamp"].Visible = false; gvCampaignList.Columns["final_list_id"].Visible = false; gvCampaignList.Columns["account_latitude"].Visible = false; gvCampaignList.Columns["account_longitude"].Visible = false; gvCampaignList.Columns["contact_id"].Visible = false; gvCampaignList.Columns["account_address"].Visible = false; gvCampaignList.Columns["contact_status"].Visible = false; } else if (m_BrightSalesProperty.CampaignList.CampaignListMode == SelectionProperty.CampaignListMode.CampaniesAndContacts) { int _final_list_id = m_efDbModel.final_lists.FirstOrDefault(i => i.sub_campaign_id == SubCampaignId).id; m_efDbModel.FIPopulateCampaignListCompaniesAndContacts(SubCampaignId, _final_list_id, UserSession.CurrentUser.UserId); m_lsmsCampaignListData = new LinqServerModeSource() { DefaultSorting = "id", KeyExpression = "uid", QueryableSource = m_efDbModel.vw_campaign_list_companies_and_contacts.Where(i => i.final_list_id == _final_list_id && i.user_id == UserSession.CurrentUser.UserId ).AsQueryable() //QueryableSource = m_efDbModel.FIGetVwCampaignListCompaniesAndContacts(_final_list_id, UserSession.CurrentUser.UserId).ToList().AsQueryable() }; m_lsmsCampaignListData.ExceptionThrown += new LinqServerModeExceptionThrownEventHandler(_lsmsCampaignListData_ExceptionThrown); m_lsmsCampaignListData.InconsistencyDetected += new LinqServerModeInconsistencyDetectedEventHandler(_lsmsCampaignListData_InconsistencyDetected); //gcCampaignList.DataSource = m_efDbModel.FIGetVwCampaignListCompaniesAndContacts(_final_list_id, UserSession.CurrentUser.UserId); /** / m_lsmsCampaignListData = new LinqServerModeSource() { DefaultSorting = "id", KeyExpression = "uid", QueryableSource = m_efDbModel.FIGetVwCampaignListCompaniesAndContacts(_final_list_id, UserSession.CurrentUser.UserId).ToList().AsQueryable() }; m_lsmsCampaignListData.ExceptionThrown += new LinqServerModeExceptionThrownEventHandler(_lsmsCampaignListData_ExceptionThrown); m_lsmsCampaignListData.InconsistencyDetected += new LinqServerModeInconsistencyDetectedEventHandler(_lsmsCampaignListData_InconsistencyDetected); /**/ gcCampaignList.DataSource = m_lsmsCampaignListData; gvCampaignList.Columns["uid"].Visible = false; gvCampaignList.Columns["user_id"].Visible = false; gvCampaignList.Columns["id"].Visible = false; gvCampaignList.Columns["account_id"].Visible = false; gvCampaignList.Columns["locked"].Visible = false; gvCampaignList.Columns["locked_by"].Visible = false; gvCampaignList.Columns["locked_timestamp"].Visible = false; gvCampaignList.Columns["final_list_id"].Visible = false; gvCampaignList.Columns["account_latitude"].Visible = false; gvCampaignList.Columns["account_longitude"].Visible = false; gvCampaignList.Columns["contact_id"].Visible = false; gvCampaignList.Columns["account_address"].Visible = false; gvCampaignList.Columns["contact_latitude"].Visible = false; gvCampaignList.Columns["contact_longitude"].Visible = false; gvCampaignList.Columns["contact_address"].Visible = false; gvCampaignList.Columns["contact_status"].Caption = "Dialog Status"; gvCampaignList.Columns["contact_status"].VisibleIndex = 7; } //if (gvCampaignList.FocusedRowHandle == 0) // gvCampaignList.FocusedRowHandle = GridControl.InvalidRowHandle; gvCampaignList.BestFitColumns(); //this.SetDefaultSelectedCampaignListItem(); this.InitializeCampaignListControls(true); lblTotalRows.Text = "Records: " + gvCampaignList.RowCount.ToString(); if (pLoadType == eCampaignListLoadCallee.Refresh) gvCampaignList.FocusedRowHandle = _FocusedRow; else if (pLoadType == eCampaignListLoadCallee.EventLogOnLoad) { //if (m_objSubCampaignAppointmentParams == null) // this.SetCampaignListAppointmentParams(); } else this.SetCampaignListAppointmentParams(); /** * re-subscribe the event after loading data. */ this.SetGridChangeRowEvent(true); m_DoneLoadingCampaignList = true; } catch (Exception e) { if (e.InnerException != null && e.InnerException.Message != null) NotificationDialog.Information("Bright Sales", e.InnerException.Message); else NotificationDialog.Information("Bright Sales", e.Message); return; } #region Log DateTime logDate2 = DateTime.UtcNow; string completeLoadingTime = logDate2.Subtract(logDate1).ToString("ss") + ":" + logDate2.Subtract(logDate1).Milliseconds; var log = BrightSalesFacade.Logger; log.SetLogField(LoggingField.campaign_id, CampaignId.ToString()); log.SetLogField(LoggingField.campaign_name, CampaignName); log.SetLogField(LoggingField.sub_campaign_id, SubCampaignId.ToString()); log.SetLogField(LoggingField.sub_campaign_name, SubCampaignName); log.SetLogField(LoggingField.customer_id, CustomerId.ToString()); log.SetLogField(LoggingField.customer_name, CustomerName); log.SetLogField(LoggingField.contact_id, null); log.SetLogField(LoggingField.contact_name, null); log.SetLogField(LoggingField.dialog_id, null); log.SetLogField(LoggingField.account_id, null); log.SetLogField(LoggingField.account_name, null); log.SetLogField(LoggingField.complete_loading_time, completeLoadingTime); log.SetLogField(LoggingField.nr_companies_campagin_list, gvCampaignList.RowCount.ToString()); if (m_BrightSalesProperty.CampaignList.CampaignListMode == SelectionProperty.CampaignListMode.CompaniesOnly) log.SetLogField(LoggingField.sub_campagin_list_type, "company"); else if (m_BrightSalesProperty.CampaignList.CampaignListMode == SelectionProperty.CampaignListMode.CampaniesAndContacts) log.SetLogField(LoggingField.sub_campagin_list_type, "company_and_contact"); else log.SetLogField(LoggingField.sub_campagin_list_type, "none"); log.SendInfo("load_sub_campaign", "loading sub campaign details"); #endregion }