private void DDAAction_Click(object sender, RoutedEventArgs e)
        {
            Button b = e.Source as Button;
            string s = b.Content as string;

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(jw.SuggestedXml);
            XmlNode      nodeControl = doc.DocumentElement.FirstChild;
            XmlAttribute x           = doc.CreateAttribute("action");

            x.Value = s;
            nodeControl.Attributes.Append(x);
            ActionDefinition ad = new ActionDefinition()
            {
                Application = _applicationName,
                Action      = "Execute",
                ActionData  = doc.OuterXml,
                Condition   = ""
            };
            ICRMWindowRouter CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();

            CRMWindowRouter.ExecuteActions(new List <ActionDefinition>()
            {
                { ad }
            }, String.Empty, new Dictionary <string, string>());
        }
 public void SessionChanged(Session session)
 {
     try
     {
         ICRMWindowRouter     globalMgr = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
         AgentDesktopSessions sessions  = globalMgr.GetSessionManager();
         string activeApp = ((DynamicsCustomerRecord)((AgentDesktopSession)sessions.ActiveSession).Customer.DesktopCustomer).GetActiveAppOnPanel(this._panelName);
         Debug.WriteLine("Restoring App " + activeApp + " for panel " + this._panelName);
         if (activeApp != null)
         {
             IHostedApplication tabApp;
             foreach (C1USDDockTabItem item in Items)
             {
                 tabApp = item.Tag as IHostedApplication;
                 if ((tabApp != null) && (tabApp.ApplicationName == activeApp))
                 {
                     SelectedItem = item;
                     return;
                 }
             }
         }
     }
     catch
     {
     }
 }
 public WpfBrowser(string applicationName)
 {
     try
     {
         ICRMWindowRouter CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
         thisApplication      = CRMWindowRouter.LoadApplicationEntity(applicationName);
         this.ApplicationName = applicationName;
         System.Windows.Controls.WebBrowser newbrowser = new System.Windows.Controls.WebBrowser();
         lock (activeBrowsers)
         {
             if (!activeBrowsers.Contains(newbrowser))
             {
                 activeBrowsers.Add(newbrowser);
             }
             Trace.WriteLine("ActiveBrowsers (Browser Added) = " + activeBrowsers.Count.ToString());
         }
         _webBrowser  = newbrowser;
         this.Content = newbrowser;
         this._WebBrowserEventSink = new WebBrowserEventSink(this);
     }
     catch (Exception ex)
     {
         Trace.WriteLine("WpfBrowser: " + ex.Message + "\r\n" + ex.StackTrace);
     }
 }
 bool VerifyGlobalManagerConnection()
 {
     if (CRMWindowRouter == null)
     {
         CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
     }
     if (CRMWindowRouter == null)
     {
         return(false);
     }
     return(true);
 }
        private void scheduler_UserEditingAppointment(object sender, C1.WPF.Schedule.AppointmentActionEventArgs e)
        {
            e.Handled = true;
            ICRMWindowRouter     CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
            Guid                 id   = (Guid)e.Appointment.Key[0];
            SchedulerAppointment appt = appointmentList.FirstOrDefault(a => a.Id == id);

            if (appt != null)
            {
                CRMWindowRouter.DoRoutePopup(localSession, this.ApplicationName, appt.ActivityType, appt.Id.ToString(), String.Empty);
            }
        }
示例#6
0
 public void Reset(string applicationName)
 {
     try
     {
         dataCaptured = false;
         ICRMWindowRouter CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
         thisApplication      = CRMWindowRouter.LoadApplicationEntity(applicationName);
         this.ApplicationName = applicationName;
         //HideScriptErrors(true);
         initialUrl = String.Empty;
     }
     catch (Exception ex)
     {
         Trace.WriteLine("WpfBrowser: " + ex.Message + "\r\n" + ex.StackTrace);
     }
 }
 bool VerifyGlobalManagerConnection()
 {
     if (CRMWindowRouter == null)
     {
         CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
     }
     if (SessionManager == null)
     {
         SessionManager = AifServiceContainer.Instance.GetService <AgentDesktopSessions>();
         SessionManager.SessionCloseEvent += SessionManager_SessionCloseEvent;
     }
     if (CRMWindowRouter == null)
     {
         return(false);
     }
     return(true);
 }
        private void MovePanel(object tabTag)
        {
            //Move Panel
            var userSettingPanel = string.Empty;

            if (desktopFeatureAccess == null)
            {
                desktopFeatureAccess = AifServiceContainer.Instance.GetService <IDesktopFeatureAccess>();
            }
            if (router == null)
            {
                router = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
            }
            var control      = ((DynamicsBaseHostedControl)tabTag);
            var defaultPanel = Utility.GetConfigurationValue(control.ApplicationName + "Panel");

            userSettingPanel = GetUserDisplayGroup(control.ApplicationName + "PanelLocation");

            var panelNameToMoveTo = string.Empty;

            if (string.IsNullOrEmpty(userSettingPanel))
            {
                if (string.IsNullOrEmpty(defaultPanel))
                {
                    panelNameToMoveTo = "MainPanel"; //Defaults to main panel
                }
                else
                {
                    panelNameToMoveTo = defaultPanel;
                }
            }
            else if (userSettingPanel.Equals("MainPanel") || userSettingPanel.Equals("SessionExplorerPanel") ||
                     userSettingPanel.Equals("LeftPanel2"))
            {
                panelNameToMoveTo = userSettingPanel;
            }
            else
            {
                panelNameToMoveTo = userSettingPanel;
                //Determine if the panel exists. Will be floating panel. If doesn't exist create it.
                //var panel = this.FindName(userSettingPanel);
                var panelExists = false;

                foreach (var item in mainLayout.Items)
                {
                    if (item is C1USDTabBasePanel)
                    {
                        if (((C1USDTabBasePanel)item).Name.Contains(userSettingPanel))
                        {
                            panelExists = true;
                            break;
                        }
                    }
                }

                if (!panelExists)
                {
                    //Create new panel and set panel id to userDisplayGroup
                    var newFloatingPanel = new C1USDTabBasePanel();

                    var style = this.FindResource("MainPanelC1USDTabBasePanelStyle") as Style;
                    newFloatingPanel.Name          = "Main Layout/" + panelNameToMoveTo;
                    newFloatingPanel.Style         = style;
                    newFloatingPanel.DockWidth     = 600;
                    newFloatingPanel.DockHeight    = 600;
                    newFloatingPanel.DockMode      = DockMode.Floating;
                    newFloatingPanel.Visibility    = Visibility.Visible;
                    newFloatingPanel.ItemsChanged += newFloatingPanel_ItemsChanged;

                    var addPanelResult = desktopFeatureAccess.AddPanel(newFloatingPanel);

                    DoPanelRegistration();
                    var pan = desktopFeatureAccess.GetPanel("Main Layout/" + panelNameToMoveTo);

                    var eventInnerParams = new Dictionary <string, string>();
                    eventInnerParams.Add("Panel", "Main Layout/" + panelNameToMoveTo);

                    router.FireEvent(control.localSession, control.ApplicationName, "MoveToPanel", eventInnerParams);
                    mainLayout.UpdateLayout();
                    if (_panelLocations == null)
                    {
                        _panelLocations = new Dictionary <string, string>();
                    }
                    if (_panelLocations.ContainsKey(control.ApplicationName))
                    {
                        _panelLocations[control.ApplicationName] = panelNameToMoveTo;
                    }
                    else
                    {
                        _panelLocations.Add(control.ApplicationName, panelNameToMoveTo);
                    }

                    mainLayout.Items.Add(newFloatingPanel);
                    return;
                }
            }

            //desktopFeatureAccess = AifServiceContainer.Instance.GetService<IDesktopFeatureAccess>();
            //desktopFeatureAccess.MoveApplicationToPanel(GetApp(control.ApplicationName), "Main Layout/" + panelNameToMoveTo);
            var eventParams = new Dictionary <string, string>();

            eventParams.Add("Panel", "Main Layout/" + panelNameToMoveTo);

            var eventResult = router.FireEvent(control.localSession, control.ApplicationName, "MoveToPanel", eventParams);

            mainLayout.UpdateLayout();
            if (_panelLocations == null)
            {
                _panelLocations = new Dictionary <string, string>();
            }
            if (_panelLocations.ContainsKey(control.ApplicationName))
            {
                _panelLocations[control.ApplicationName] = panelNameToMoveTo;
            }
            else
            {
                _panelLocations.Add(control.ApplicationName, panelNameToMoveTo);
            }
        }