private void btnEditFollowUpDetails_Click(object sender, EventArgs e) { if (EventId < 1) { NotificationDialog.Error("Bright Sales", "No editable data is available."); return; } m_EventBus.Notify(new FollowUpBarEvents.GetCampaignBookingArgs() { ForWorkModePurpose = false }); //CampaignBookingProperty.CampaignBoookingArguments _args = GetCampaignBookingArgs(false); if (m_BrightSalesProperty.EventsProperty.CampaignBookingArgs == null || m_BrightSalesProperty.EventsProperty.CampaignBookingArgs.oAppointment == null) return; WaitDialog.Show("Loading Data ..."); #region Initialize Editor m_Editor = new FollowUpEditor() { Dock = DockStyle.Fill, IsNurtureEvent = false }; m_Editor.btnSave_OnClick += new FollowUpEditor.btnSaveOnClickEventHandler(m_Editor_btnSave_OnClick); m_dlgEditor = new PopupDialog() { FormBorderStyle = FormBorderStyle.FixedSingle, MinimizeBox = false, MaximizeBox = false, StartPosition = FormStartPosition.CenterScreen, Text = "Edit Current Follow Up", ClientSize = new Size(m_Editor.Width + 2, m_Editor.Height + 2), CloseBox = false }; m_dlgEditor.Controls.Add(m_Editor); #endregion CampaignBookingProperty.CampaignBoookingArguments _args = m_BrightSalesProperty.EventsProperty.CampaignBookingArgs; //bool IsDeActivated = false; int _FinalListId; event_followup_log _data; using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) { _data = _efDbContext.event_followup_log.FirstOrDefault(i => i.id == _args.Id); _FinalListId = (int)_efDbContext.final_lists.FirstOrDefault(i => i.sub_campaign_id == _data.subcampaign_id).id; _efDbContext.Detach(_data); /* * https://brightvision.jira.com/browse/PLATFORM-3070 * DAN: Inrelated to fixing the issue as must not be able to edit when account is already deactivated. */ sub_campaign_account_lists _eftSubCampaignAccount = _efDbContext.sub_campaign_account_lists.FirstOrDefault(p => p.account_id == _data.account_id && p.final_list_id == _FinalListId && p.active == true ); if (_eftSubCampaignAccount == null) { NotificationDialog.Warning("Bright Sales", "This account has been de-activated"); WaitDialog.Close(); return; } _efDbContext.Detach(_eftSubCampaignAccount); //if (_eftSubCampaignAccount != null) // _efDbContext.Detach(_eftSubCampaignAccount); //else // IsDeActivated = true; } //if (IsDeActivated) //{ // NotificationDialog.Warning("Bright Sales", "This account has been de-activated"); // //return; //} if (_data.event_type.Equals("Nurture Event")) m_Editor.IsNurtureEvent = true; m_Editor.SubCampaignId = _args.oAppointment.SubCampaignId; m_Editor.AccountId = _args.oAppointment.AccountId; m_Editor.Prepare(); if (!_data.event_type.Equals("Nurture Event")) { m_Editor.GetEventTypes(0, _data.event_type); m_Editor.LoadSalesUsers((int)_data.subcampaign_id, (int)((_data.assigned_user != null)?_data.assigned_user:0)); m_Editor.SetCampaignInfo(_args); m_ContactList = ObjectSubCampaign.GetSubCampaignContacts(_args.oAppointment.SubCampaignId, _args.oAppointment.AccountId, _args.oAppointment.FinalListId); } else { m_Editor.GetEventTypes((int)_data.source_sub_campaign_id); m_Editor.SetSelectedEventType((int)_data.subcampaign_id); m_Editor.LoadSalesUsers((int)_data.subcampaign_id, (int)_data.assigned_user); m_Editor.SetCampaignInfo(_data); m_ContactList = ObjectSubCampaign.GetSubCampaignContacts((int)_data.subcampaign_id, (int)_data.account_id, _FinalListId); } if (m_ContactList.Count > 0) { m_Editor.LoadContactPersons(m_ContactList); CTScSubCampaignContactList _contact = m_ContactList.Find(i => i.id == (int)_data.contact_id); if (_contact != null) { m_Editor.ContactPerson = _contact; m_Editor.LoadSelectedContact(false); } } WaitDialog.Close(); m_dlgEditor.ShowDialog(this); }
private void GridUtilityMenu_EditEventOnClick() { if (gvEventLog.RowCount < 1) return; if (m_BrightSalesProperty.CampaignBooking.Questionnaire.Mode == SelectionProperty.DialogSaveMode.Edit) { NotificationDialog.Warning("Bright Sales", "This dialog is currently being edited."); return; } SalesConsultant.Business.BrightSalesGridUtility.EditEventOnClick -= new SalesConsultant.Business.BrightSalesGridUtility.EditEventOnClickEventHandler(GridUtilityMenu_EditEventOnClick); CTScEventAndFollowUpLog _item = gvEventLog.GetFocusedRow() as CTScEventAndFollowUpLog; if (_item == null || _item.event_type.Equals("Call Log") || _item.event_type.Equals("Nurture Log")) return; bool _EditAllowed = false; if (_item.assigned_user == UserSession.CurrentUser.UserId || _item.created_by.Equals(UserSession.CurrentUser.UserFullName)) _EditAllowed = true; if (!_EditAllowed) return; /** / bool _EditAllowed = false; if (_item.event_type.Equals("Nurture Event") || _item.event_type.Equals("Make Call")) _EditAllowed = true; if (!_EditAllowed) return; /**/ int _FinalListId; event_followup_log _data; using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) { _data = _efDbContext.event_followup_log.FirstOrDefault(i => i.id == _item.id); _FinalListId = (int)_efDbContext.final_lists.FirstOrDefault(i => i.sub_campaign_id == _data.subcampaign_id).id; _efDbContext.Detach(_data); } if (_data == null) return; #region Initialize Editor FollowUpEditor _control = new FollowUpEditor() { Dock = DockStyle.Fill, IsNurtureEvent = false }; _control.btnSave_OnClick += new FollowUpEditor.btnSaveOnClickEventHandler(_control_btnSave_OnClick); PopupDialog _dlg = new PopupDialog() { FormBorderStyle = FormBorderStyle.FixedSingle, MinimizeBox = false, MaximizeBox = false, StartPosition = FormStartPosition.CenterScreen, Text = "Edit Task", ClientSize = new Size(_control.Width + 2, _control.Height + 2), CloseBox = false }; _dlg.Controls.Add(_control); #endregion int _EventType = 0; if (_item.event_type.Equals("Nurture Event")) { _EventType = (int)_data.subcampaign_id; _control.IsNurtureEvent = true; } else if (_item.event_type.Equals("Make Call")) _EventType = -1; else if (_item.event_type.Equals("Todo")) _EventType = -3; _control.SubCampaignId = SubCampaignId; _control.Prepare(); _control.GetEventTypes(SubCampaignId); _control.SetSelectedEventType(_EventType); _control.LoadSalesUsers((int)_data.subcampaign_id, (int)_data.assigned_user); _control.SetCampaignInfo(_data); List<CTScSubCampaignContactList> _ContactList = ObjectSubCampaign.GetSubCampaignContacts((int)_data.subcampaign_id, (int)_data.account_id, _FinalListId); if (_ContactList.Count > 0) { _control.LoadContactPersons(_ContactList); CTScSubCampaignContactList _contact = _ContactList.Find(i => i.id == (int)_data.contact_id); if (_contact != null) { _control.ContactPerson = _contact; _control.LoadSelectedContact(false); } } _dlg.ShowDialog(this); }