Esempio n. 1
0
        void btnManualDial_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                channelManager.StartSyncProcess(false);
                if (btnManualDial.Content.ToString() == "Start Manual Dialing")
                {
                    channelManager.ActiveChannel.CurrentDialStatus = "Manual";
                    btnManualDial.Content      = "Stop Manual Dialing";
                    btnAutomaticDial.IsEnabled = false;
                    VMuktiHelper.CallEvent("StartManualDialing", this, new VMuktiEventArgs(true, "Manual"));
                }
                else if (btnManualDial.Content.ToString() == "Stop Manual Dialing")
                {
                    btnManualDial.Content      = "Start Manual Dialing";
                    btnAutomaticDial.IsEnabled = true;
                    VMuktiHelper.CallEvent("StartManualDialing", this, new VMuktiEventArgs(false, "Manual"));

                    if (channelManager.ActiveChannel.CallResult != (ClsChannel.CallStatus)CallStatus.NotInCall && channelManager.ActiveChannel.CallResult != (ClsChannel.CallStatus)CallStatus.CallHangUp)
                    {
                        VMuktiHelper.CallEvent("HangUp", this, new VMuktiEventArgs(channelManager.ActiveChannel.ChannelID));
                    }
                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "btnManualDial_Click()", "MyDialer.xaml.cs");
            }
        }
Esempio n. 2
0
 void MyDialer_VMuktiEvent_Logoff(object sender, VMuktiEventArgs e)
 {
     try
     {
         VMuktiHelper.CallEvent("SetDisposition", this, new VMuktiEventArgs(100, "None", false));
         channelManager.CallExit();
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "MyDialer_VMuktiEvent_Logoff()", "MyDialer.xaml.cs");
     }
 }
Esempio n. 3
0
        public void CallExit()
        {
            try
            {
                if (!blExit)
                {
                    blExit = true;
                    if (StrAgentNumber != "")
                    {
                        clsDataService.DeallocateSIPInformation(long.Parse(StrAgentNumber));
                    }

                    try
                    {
                        foreach (ClsChannel cl in _DiallerChannel)
                        {
                            if (cl.CallResult == ClsChannel.CallStatus.CallInProgress)
                            {
                                VMuktiHelper.CallEvent("HangUp", this, new VMuktiEventArgs("PredictiveDialer", cl.ChannelID));
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        ex.Data.Add("My Key", "VMukti--:--VmuktiModules--:--Call Center--:--AutoDialer--:--Dialer.Business--:--ClsChannelManager.cs--:--HangUp()--");
                        ClsException.LogError(ex);
                        ClsException.WriteToErrorLogFile(ex);
                    }
                    //if (objLeadCollection != null)
                    //{
                    foreach (ClsLead cd in objLeadCollection)
                    {
                        clsDataService.UpdateLeadStatus(cd.ID, cd.Status);
                        //  clsDataService.UpdateLeadStatus(cd.ID, "Fresh");
                    }
                    UpdateSyncAtExit();
                }
            }
            catch (Exception ex)
            {
                ex.Data.Add("My Key", "VMukti--:--VmuktiModules--:--Call Center--:--AutoDialer--:--Dialer.Business--:--ClsChannelManager.cs--:--CallExit()--");
                ClsException.LogError(ex);
                ClsException.WriteToErrorLogFile(ex);
            }
            finally
            {
                if (!blExit)
                {
                    UpdateSyncAtExit();
                }
            }
        }
Esempio n. 4
0
 void MyDialer_VMuktiEvent_AllCtlLoaded(object sender, VMuktiEventArgs e)
 {
     try
     {
         VMuktiHelper.CallEvent("RegisterAgent", this, new VMuktiEventArgs(channelManager.AgentNumber, channelManager.AgentPassWord, channelManager.SIPServerAddress));
         VMuktiHelper.CallEvent("SetCampaignID", this, new VMuktiEventArgs(channelManager.CurrentCampaingID));
         btnManualDial_Click(null, null);
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "MyDialer_VMuktiEvent_AllCtlLoaded()", "MyDialer.xaml.cs");
     }
 }
        //Call back disposition for the particular call
        void btnEnterCallBackReason_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (!CallBackInfoAvailable())
                {
                    MessageBox.Show("Fill Proper Values For Call Back");
                    return;
                }
                else
                {
                    //set callback time
                    string sCallBackDateTime = monthPicker.SelectedDate.Value.ToShortDateString();
                    sCallBackDateTime += " " + cmbHour.SelectionBoxItem.ToString();
                    sCallBackDateTime += ":" + cmbMin.SelectionBoxItem.ToString();
                    sCallBackDateTime += ":00";
                    sCallBackDateTime += " " + cmbAMPM.SelectionBoxItem.ToString();

                    if (sCallingType == "AutoMatic")
                    {
                        VMuktiHelper.CallEvent("SetDisposition", this, new VMuktiEventArgs(sCurrentDispostion, txtCallBackReason.Text.ToString(), chkIsPublic.IsChecked, sCallBackDateTime, sCurrentChannelID));
                        VMuktiHelper.CallEvent("SetDialerEnable", this, new VMuktiEventArgs(true));
                    }
                    else if (sCallingType == "Predictive")
                    {
                        //VMuktiHelper.CallEvent("SetDispositionForPredictive", this, new VMuktiEventArgs(sCurrentDispostion, txtCallBackReason.Text.ToString(), chkIsPublic.IsChecked, sCallBackDateTime, sCurrentChannelID));
                        VMuktiHelper.CallEvent("SetDispositionForPredictive", this, new VMuktiEventArgs(sCurrentDispostion, txtCallBackReason.Text.ToString(), chkIsPublic.IsChecked, sCallBackDateTime, sCurrentChannelID));
                        VMuktiHelper.CallEvent("SetPredictiveDialerEnable", this, new VMuktiEventArgs(true, sCurrentChannelID));
                    }

                    cnvDispoButtons.Visibility = Visibility.Visible;
                    cnvDispoButtons.IsEnabled  = false;
                    cnvDispositon.Visibility   = Visibility.Hidden;
                    cnvCallBack.Visibility     = Visibility.Hidden;
                    blApplicationExit          = false;
                    txtCallBackReason.Text     = string.Empty;
                    txtCallBackNo.Text         = string.Empty;
                    chkIsPublic.IsChecked      = false;
                    monthPicker.SelectedDate.GetValueOrDefault();
                    cmbAMPM.SelectedIndex = 0;
                    cmbHour.SelectedIndex = 0;
                    cmbMin.SelectedIndex  = 0;
                }
                VMuktiAPI.VMuktiHelper.CallEvent("entDipositionRenderStatus", this, new VMuktiEventArgs(false));
            }
            catch (Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "btnEnterCallBackReason_Click()", "CtlDispositionRender.xaml.cs");
            }
        }
Esempio n. 6
0
 void btnAutomaticDial_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (btnAutomaticDial.Content.ToString() == "Start Automatic Dialing")
         {
             if (channelManager.CurrentCampaingID == 0)
             {
                 lblMessage.Content = "No Campaing available";
                 //MessageBox.Show("No Campaing available");
             }
             else if (channelManager.LeadCollection == null || channelManager.LeadCollection.Count == 0)
             {
                 lblMessage.Content = "No Fresh Leads available";
                 //MessageBox.Show("No Fresh Leads available");
             }
             else
             {
                 channelManager.ActiveChannel.CurrentDialStatus = "Automatic";
                 channelManager.ActiveChannel.CountryCode       = channelManager.GetCountryCode();
                 channelManager.ActiveChannel.CampaginPrefix    = channelManager.GetCampaginPrefix();
                 btnAutomaticDial.Content = "Stop Automatic Dialing";
                 btnManualDial.IsEnabled  = false;
                 if (channelManager.LeadCollection.Count != 0)
                 {
                     VMuktiHelper.CallEvent("StartManualDialing", this, new VMuktiEventArgs(true, "AutoMatic"));
                 }
                 FireCall();
                 channelManager.StartSyncProcess(true);
             }
         }
         else if (btnAutomaticDial.Content.ToString() == "Stop Automatic Dialing")
         {
             btnAutomaticDial.Content = "Start Automatic Dialing";
             btnManualDial.IsEnabled  = true;
             //channel1.CallResult = (ClsChannel.CallStatus)CallStatus.CallHangUp;
             VMuktiHelper.CallEvent("StartManualDialing", this, new VMuktiEventArgs(false, "AutoMatic"));
             //VMuktiHelper.CallEvent("HangUp", this, new VMuktiEventArgs(channel1.ChannelID,channel1.CallResult.ToString()));
             cnvMain.IsEnabled = false;
             FncRemoveDialLead();
             channelManager.StartSyncProcess(false);
         }
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "btnAutomaticDial_Click()", "MyDialer.xaml.cs");
     }
 }
Esempio n. 7
0
 void MyDialer_VMuktiEvent_SetMyDialerEnable(object sender, VMuktiEventArgs e)
 {
     try
     {
         cnvMain.IsEnabled = bool.Parse(e._args[0].ToString());
         if (btnAutomaticDial.Content.ToString().StartsWith("Start") && btnManualDial.Content.ToString().StartsWith("Start"))
         {
             VMuktiHelper.CallEvent("SetSoftPhoneEnable", this, new VMuktiEventArgs(false));
         }
         else
         {
             VMuktiHelper.CallEvent("SetSoftPhoneEnable", this, new VMuktiEventArgs(true));
         }
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "MyDialer_VMuktiEvent_SetMyDialerEnable()", "MyDialer.xaml.cs");
     }
 }
Esempio n. 8
0
        public void CallExit()
        {
            try
            {
                if (!blExit)
                {
                    blExit = true;
                    if (StrAgentNumber != "")
                    {
                        clsDataService.DeallocateSIPInformation(long.Parse(StrAgentNumber));
                    }

                    try
                    {
                        if (channel1.ChannelID != "")
                        {
                            VMuktiHelper.CallEvent("HangUp", this, new VMuktiEventArgs(channel1.ChannelID));
                        }
                    }
                    catch
                    {
                    }
                    foreach (ClsLead cd in objLeadCollection)
                    {
                        clsDataService.UpdateLeadStatus(cd.ID, cd.Status);
                    }
                    UpdateSyncAtExit();
                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "CallExit()", "ClsChannelManager.cs");
            }
            finally
            {
                if (!blExit)
                {
                    UpdateSyncAtExit();
                }
            }
        }
Esempio n. 9
0
        public void FireCall()
        {
            try
            {
                //lock (this)
                //{
                if (channelManager.LeadCollection.Count == 0)
                {
                    lblMessage.Content = "Leads Over";
                    //MessageBox.Show("Leads Over");
                    btnAutomaticDial.Content = "Start Automatic Dialing";
                    btnManualDial.IsEnabled  = true;
                }
                else
                {
                    // CallResult = CallStatus.CallHangUp;
                    VMuktiHelper.CallEvent("SetLeadIDCRM", this, new VMuktiEventArgs(channelManager.LeadCollection[0].ID));
                    //VMuktiHelper.CallEvent("SetLeadIDScript", this, new VMuktiEventArgs(channelManager.LeadCollection[0].ID));
                    VMuktiHelper.CallEvent("SetLeadIDScript", this, new VMuktiEventArgs(channelManager.LeadCollection[0].ID, channelManager.LeadCollection[0].ID, "Automatic"));
                    channelManager.ActiveChannel.CurrentPhoneNo   = channelManager.LeadCollection[0].PhoneNo;
                    channelManager.ActiveChannel.CurrentCampainID = channelManager.CurrentCampaingID;
                    channelManager.ActiveChannel.LeadID           = channelManager.LeadCollection[0].ID;
                    channelManager.ActiveChannel.ChannelID        = "1";

                    channelManager.ActiveChannel.UserID   = channelManager.UserID;
                    channelManager.ActiveChannel.ConfID   = long.Parse("1");
                    channelManager.ActiveChannel.IsDNC    = false;
                    channelManager.ActiveChannel.IsGlobal = false;
                    // channelManager.ActiveChannel.DispositionID = long.Parse("1");
                    channelManager.ActiveChannel.CallNote = "Hello";
                    //MessageBox.Show(objLeadCollection[0].PhoneNo.ToString());
                    VMuktiHelper.CallEvent("SetChannelStatus", this, new VMuktiEventArgs(CallStatus.ReadyState));
                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "FireCall()", "MyDialer.xaml.cs");
            }
            //}
        }
        void CtlDispositionRender_VMuktiEvent_SetDispositiForDetectedTone(object sender, VMuktiEventArgs e)
        {
            try
            {
                //objDispColl.GetDispoId(e._args[0].ToString())
                if (sCallingType == "AutoMatic")
                {
                    VMuktiHelper.CallEvent("SetDialerEnable", this, new VMuktiEventArgs(true));
                }
                if (sCallingType == "Predictive")
                {
                    VMuktiHelper.CallEvent("SetPredictiveDialerEnable", this, new VMuktiEventArgs(true, sCurrentChannelID));
                }
                sCurrentDispostion            = objDispColl.GetDispoId(e._args[0].ToString()).ToString();
                sPhoneNumber                  = e._args[1].ToString();
                sCurrentChannelID             = e._args[2].ToString();
                sCallingType                  = e._args[3].ToString();
                txtCallNote.Text              = string.Empty;
                cnvDispoButtons.Visibility    = Visibility.Visible;
                cnvDispoButtons.IsEnabled     = false;
                cnvCallBack.Visibility        = Visibility.Hidden;
                cnvOtherDispositon.Visibility = Visibility.Hidden;
                cnvDispositon.Visibility      = Visibility.Hidden;
                blApplicationExit             = false;

                //Automatic dialing
                if (sCallingType == "AutoMatic")
                {
                    VMuktiHelper.CallEvent("SetDisposition", this, new VMuktiEventArgs(sCurrentDispostion, txtCallNote.Text.Trim(), false, null, sCurrentChannelID));
                }
                if (sCallingType == "Predictive")
                {
                    VMuktiHelper.CallEvent("SetDispositionForPredictive", this, new VMuktiEventArgs(sCurrentDispostion, txtCallNote.Text.Trim(), false, null, sCurrentChannelID));
                }
            }
            catch (Exception ex)
            {
            }
        }
        //To enter Disposition Reason
        void btnEnterDispReason_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //if (txtDNCReason.Text.Trim() == string.Empty)
                //{

                //    MessageBox.Show("Enter Desposition Reason");
                //    return;
                //}
                //else
                //{
                if (sCallingType == "AutoMatic")
                {
                    VMuktiHelper.CallEvent("SetDisposition", this, new VMuktiEventArgs(sCurrentDispostion, txtDNCReason.Text.ToString(), true));
                    VMuktiHelper.CallEvent("SetDialerEnable", this, new VMuktiEventArgs(true));
                }
                else if (sCallingType == "Predictive")
                {
                    VMuktiHelper.CallEvent("SetDispositionForPredictive", this, new VMuktiEventArgs(sCurrentDispostion, txtDNCReason.Text.Trim(), false, null, sCurrentChannelID));
                    VMuktiHelper.CallEvent("SetPredictiveDialerEnable", this, new VMuktiEventArgs(true, sCurrentChannelID));
                }

                cnvDispoButtons.Visibility = Visibility.Visible;
                cnvDispoButtons.IsEnabled  = false;
                cnvDispositon.Visibility   = Visibility.Hidden;
                cnvCallBack.Visibility     = Visibility.Hidden;
                blApplicationExit          = false;
                txtDNCReason.Text          = string.Empty;
                txtPhoneNo.Text            = string.Empty;
                //}
                VMuktiAPI.VMuktiHelper.CallEvent("entDipositionRenderStatus", this, new VMuktiEventArgs(false));
            }
            catch (Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "btnEnterDispReason_Click()", "CtlDispositionRender.xaml.cs");
            }
        }
        public CtlDispositionRender(ModulePermissions[] MyPermissions)
        {
            try
            {
                InitializeComponent();

                _MyPermissions = MyPermissions;
                FncPermissionsReview();

                //VMuktiAPI.VMuktiInfo.ConnectionString = "Data Source=61.17.213.134\\SqlExpress;Initial Catalog=VMukti;User ID=sa;PassWord=mahavir;";
                VMuktiHelper.RegisterEvent("SetCampaignID").VMuktiEvent                  += new VMuktiEvents.VMuktiEventHandler(CtlDispositionRender_VMuktiEventCampaignID);
                VMuktiHelper.RegisterEvent("SetDispositionEnable").VMuktiEvent           += new VMuktiEvents.VMuktiEventHandler(CtlDispositionRender_VMuktiEvent_SetDispositionEnable);
                VMuktiHelper.RegisterEvent("SetDispositionButtonClickEvent").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(CtlDispositionRender_VMuktiEvent_SetDispositionButtonClickEvent);
                VMuktiHelper.RegisterEvent("SetDispositiForDetectedTone").VMuktiEvent    += new VMuktiEvents.VMuktiEventHandler(CtlDispositionRender_VMuktiEvent_SetDispositiForDetectedTone);
                cnvDispoButtons.IsEnabled = false;
                Application.Current.Exit += new ExitEventHandler(Current_Exit);

                this.btnEnterDispReason.Click  += new RoutedEventHandler(btnEnterDispReason_Click);
                this.btnCancelDispReason.Click += new RoutedEventHandler(btnCancelDispReason_Click);

                this.btnEnterCallBackReason.Click  += new RoutedEventHandler(btnEnterCallBackReason_Click);
                this.btnCancelCallBackReason.Click += new RoutedEventHandler(btnCancelCallBackReason_Click);

                this.btnCancelOtherDispReason.Click += new RoutedEventHandler(btnCancelOtherDispReason_Click);
                this.btnEnterOtherDispReason.Click  += new RoutedEventHandler(btnEnterOtherDispReason_Click);

                //this.Unloaded += new RoutedEventHandler(CtlDispositionRender_Unloaded);
                VMuktiHelper.CallEvent("AllModulesLoaded", this, null);
                VMuktiHelper.CallEvent("AllModulesLoadedForPredictive", this, null);
                VMuktiAPI.VMuktiHelper.RegisterEvent("SignOut").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(CtlDispositionRender_VMuktiEvent);
            }
            catch (Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "CtlDispositionRender()", "CtlDispositionRender.xaml.cs");
            }
        }
 void Current_Exit(object sender, ExitEventArgs e)
 {
     try
     {
         if (blApplicationExit == true)
         {
             if (sCallingType == "AutoMatic")
             {
                 VMuktiHelper.CallEvent("SetDisposition", this, new VMuktiEventArgs(100, "None", false, null, sCurrentChannelID));
             }
             else if (sCallingType == "Predictive")
             {
                 VMuktiHelper.CallEvent("SetDispositionForPredictive", this, new VMuktiEventArgs(100, "None", false, null, sCurrentChannelID));
             }
         }
         VMuktiHelper.UnRegisterEvent("SetCampaignID");
         VMuktiHelper.UnRegisterEvent("SetDispositionEnable");
         VMuktiHelper.UnRegisterEvent("SetDispositionButtonClickEvent");
     }
     catch (Exception ex)
     {
         VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "Current_Exit()", "CtlDispositionRender.xaml.cs");
     }
 }
        //Submit Disposition for the particular call
        void btnEnterOtherDispReason_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                txtCallNote.Text              = string.Empty;
                cnvDispoButtons.Visibility    = Visibility.Visible;
                cnvDispoButtons.IsEnabled     = false;
                cnvCallBack.Visibility        = Visibility.Hidden;
                cnvOtherDispositon.Visibility = Visibility.Hidden;
                cnvDispositon.Visibility      = Visibility.Hidden;
                blApplicationExit             = false;

                //Automatic dialing
                if (sCallingType == "AutoMatic")
                {
                    VMuktiHelper.CallEvent("SetDisposition", this, new VMuktiEventArgs(sCurrentDispostion, txtCallNote.Text.Trim(), false, null, sCurrentChannelID));
                    VMuktiHelper.CallEvent("SetDialerEnable", this, new VMuktiEventArgs(true));
                }

                //Predictive dialing
                else if (sCallingType == "Predictive")
                {
                    //VMuktiHelper.CallEvent("SetDispositionForPredictive", this, new VMuktiEventArgs(sCurrentDispostion, txtCallNote.Text.Trim(), false, null, sCurrentChannelID));
                    VMuktiHelper.CallEvent("SetDispositionForPredictive", this, new VMuktiEventArgs(sCurrentDispostion, txtCallNote.Text.Trim(), false, null, sCurrentChannelID));
                    VMuktiHelper.CallEvent("SetPredictiveDialerEnable", this, new VMuktiEventArgs(true, sCurrentChannelID));
                }

                //VMuktiHelper.CallEvent("SetSoftPhoneEnable", this, new VMuktiEventArgs(true));
                //VMuktiAPI.VMuktiHelper.CallEvent("entDipositionRenderStatus", this, new VMuktiEventArgs(false));
                //}
            }
            catch (Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "btnEnterOtherDispReason_Click()", "CtlDispositionRender.xaml.cs");
            }
        }