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 }
public ActionResult Index() { /** * connection info. */ #region Code Logic string _Connection = ConfigurationManager.ConnectionStrings["DefaultEntityConnection"].ToString(); if (string.IsNullOrEmpty(_Connection)) Response.Redirect(Url.RouteUrl(new { action = "DisplayError", pExceptionMessage = "No available connection. Please kindly contact your administrator." })); #endregion string sdata = null; string _title = ""; try { int _subcampaignid = int.Parse(ValidationUtility.IFNullString(Request.QueryString["subcampaignid"], "0")); int _userid = int.Parse(ValidationUtility.IFNullString(Request.QueryString["userid"], "0")); //_title = ValidationUtility.IFNullString(Request.QueryString["title"], ""); if (_subcampaignid <= 0 || _userid <= 0) { Response.Redirect(Url.RouteUrl(new { action = "DisplayError", pExceptionMessage = "Invalid SubcampaignId or UserId." })); } using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(_Connection)) { subcampaign sc = _efDbContext.subcampaigns.FirstOrDefault(i => i.id == _subcampaignid); if (sc != null) { if (ValidationUtility.IFNullString(sc.title, "") != "") { _title = sc.title; } campaign c = _efDbContext.campaigns.FirstOrDefault(i => i.id == sc.campaign_id); _efDbContext.Detach(sc); if (c != null) { if (ValidationUtility.IFNullString(c.campaign_name, "") != "") { _title = c.campaign_name + " > " + _title; } customer cus = _efDbContext.customers.FirstOrDefault(i => i.id == c.customer_id); _efDbContext.Detach(c); if (cus != null) { if (ValidationUtility.IFNullString(cus.customer_name, "") != "") { _title = cus.customer_name + " > " + _title; } _efDbContext.Detach(cus); } } } _efDbContext.FIPopulateCampaignListCompanies(_subcampaignid, _userid); int _final_list_id = _efDbContext.final_lists.FirstOrDefault(i => i.sub_campaign_id == _subcampaignid).id; List<CXbvGetVwCampaignListCompaniesStatuses> data = _efDbContext.FXbvGetVwCampaignListCompaniesStatuses(_final_list_id, _userid).ToList(); for (int i = 0; i < data.Count; i++) { if (sdata != null) sdata += ", "; sdata += "[\"" + data[i].Company_Status + "\", " + data[i].total + "]"; } if (sdata != null) sdata = "[" + sdata + "]"; //System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer(); //ViewBag.Data = jss.Serialize(data); } } catch (Exception ex) { Response.Redirect(Url.RouteUrl(new { action = "DisplayError", pExceptionMessage = ex.ToString() })); } //ViewBag.Data = "[[\"Open\", 321], [\"In Progress\", 370], [\"Not Qualified\", 225], [\"Follow-Up\", 35], [\"relreased\", 19], [\"Approved\", 8]]"; ViewBag.Title = _title; ViewBag.Data = sdata; return View(); }