コード例 #1
0
        /// <summary>
        /// Open the test manager.
        /// </summary>
        public override void Execute()
        {
            if (App.Instance.SalesForceApp.CurrentProject != null)
            {
                LogListener[] lps = null;
                using (App.Wait("Loading log parameters"))
                {
                    lps = App.Instance.SalesForceApp.CurrentProject.Client.Diagnostic.GetLogListeners();
                }

                LogListenerManagerWindow dlg = new LogListenerManagerWindow();
                dlg.LogParameters  = lps;
                dlg.DeleteClick   += DeleteLogParameters;
                dlg.NewClick      += NewLogParameters;
                dlg.ViewLogsClick += ViewLogs;
                dlg.EditClick     += EditLogParameters;

                App.ShowDialog(dlg);

                dlg.DeleteClick   -= DeleteLogParameters;
                dlg.NewClick      -= NewLogParameters;
                dlg.ViewLogsClick -= ViewLogs;
                dlg.EditClick     -= EditLogParameters;
            }
        }
コード例 #2
0
        /// <summary>
        /// View the logs for the selected log parameters.
        /// </summary>
        /// <param name="sender">The object that raised the event.</param>
        /// <param name="e">Event arguments.</param>
        private void ViewLogs(object sender, EventArgs e)
        {
            try
            {
                LogListenerManagerWindow dlg = sender as LogListenerManagerWindow;
                if (App.Instance.SalesForceApp.CurrentProject != null &&
                    dlg != null &&
                    dlg.SelectedLogParameters != null)
                {
                    IDocument[] documents = App.Instance.Content.GetDocumentsByEntity(dlg.SelectedLogParameters);
                    if (documents.Length > 0)
                    {
                        App.Instance.Content.ActiveDocument = documents[0];
                    }
                    else
                    {
                        using (App.Wait("Opening log viewer"))
                        {
                            LogViewerDocument document = new LogViewerDocument(
                                App.Instance.SalesForceApp.CurrentProject,
                                dlg.SelectedLogParameters);

                            document.Refresh();
                            App.Instance.Content.OpenDocument(document);
                        }
                    }
                }

                dlg.Close();
            }
            catch (Exception err)
            {
                App.HandleException(err);
            }
        }
コード例 #3
0
 /// <summary>
 /// Delete log paramters selected by the user.
 /// </summary>
 /// <param name="sender">The object that raised the event.</param>
 /// <param name="e">Event arguments.</param>
 private void DeleteLogParameters(object sender, EventArgs e)
 {
     try
     {
         LogListenerManagerWindow dlg = sender as LogListenerManagerWindow;
         if (App.Instance.SalesForceApp.CurrentProject != null &&
             dlg != null &&
             dlg.SelectedLogParameters != null)
         {
             if (App.MessageUser("Are you sure you want to delete the selected Log Listener?",
                                 "Confirm Delete",
                                 System.Windows.MessageBoxImage.Question,
                                 new string[] { "Yes", "No" }) == "Yes")
             {
                 using (App.Wait("Deleting Log Listener"))
                 {
                     App.Instance.SalesForceApp.CurrentProject.Client.Diagnostic.DeleteLogListener(dlg.SelectedLogParameters);
                     List <LogListener> list = new List <LogListener>(dlg.LogParameters);
                     list.Remove(dlg.SelectedLogParameters);
                     dlg.LogParameters = list;
                 }
             }
         }
     }
     catch (Exception err)
     {
         App.HandleException(err);
     }
 }
コード例 #4
0
        /// <summary>
        /// Create new log parameters.
        /// </summary>
        /// <param name="sender">The object that raised the event.</param>
        /// <param name="e">Event arguments.</param>
        private void NewLogParameters(object sender, EventArgs e)
        {
            try
            {
                LogListenerManagerWindow dlg = sender as LogListenerManagerWindow;

                if (App.Instance.SalesForceApp.CurrentProject != null && dlg != null)
                {
                    NewLogParametersWindow newDlg = new NewLogParametersWindow();
                    newDlg.Title             = "New Log Listener";
                    newDlg.SaveButtonText    = "Create";
                    newDlg.TracedEntity      = App.Instance.SalesForceApp.CurrentProject.Client.User;
                    newDlg.Scope             = String.Empty;
                    newDlg.ExpirationDate    = DateTime.Now.AddDays(1);
                    newDlg.LogLevelCode      = LogLevel.Info;
                    newDlg.LogLevelProfiling = LogLevel.Info;
                    newDlg.LogLevelDatabase  = LogLevel.Info;
                    newDlg.UserSearch       += UserSearch;

                    try
                    {
                        if (App.ShowDialog(newDlg))
                        {
                            using (App.Wait("Creating Log Listener"))
                            {
                                LogListener log = App.Instance.SalesForceApp.CurrentProject.Client.Diagnostic.CreateLogListener(
                                    (newDlg.TracedEntity as User).Id,
                                    String.Format("{0} (user)", newDlg.TracedEntity),
                                    String.Empty,
                                    String.Empty,
                                    (newDlg.ExpirationDate.HasValue) ? newDlg.ExpirationDate.Value : DateTime.Now.AddHours(4),
                                    newDlg.LogLevelCode,
                                    newDlg.LogLevelVisualForce,
                                    newDlg.LogLevelProfiling,
                                    newDlg.LogLevelCallout,
                                    newDlg.LogLevelDatabase,
                                    newDlg.LogLevelSystem,
                                    newDlg.LogLevelValidation,
                                    newDlg.LogLevelWorkflow);

                                List <LogListener> list = new List <LogListener>(dlg.LogParameters);
                                list.Add(log);
                                dlg.LogParameters = list;
                            }
                        }
                    }
                    finally
                    {
                        newDlg.UserSearch -= UserSearch;
                    }
                }
            }
            catch (Exception err)
            {
                App.HandleException(err);
            }
        }
コード例 #5
0
        /// <summary>
        /// Edit log parameters.
        /// </summary>
        /// <param name="sender">The object that raised the event.</param>
        /// <param name="e">Event arguments.</param>
        private void EditLogParameters(object sender, EventArgs e)
        {
            try
            {
                LogListenerManagerWindow dlg = sender as LogListenerManagerWindow;
                if (App.Instance.SalesForceApp.CurrentProject != null &&
                    dlg != null &&
                    dlg.SelectedLogParameters != null)
                {
                    NewLogParametersWindow editDlg = new NewLogParametersWindow();
                    editDlg.Title                  = "Edit Log Listener";
                    editDlg.SaveButtonText         = "Save";
                    editDlg.TracedEntity           = dlg.SelectedLogParameters.TracedEntityName;
                    editDlg.IsTracedEntityReadOnly = true;
                    editDlg.Scope                  = dlg.SelectedLogParameters.ScopeName;
                    editDlg.ExpirationDate         = dlg.SelectedLogParameters.ExpirationDate;
                    editDlg.LogLevelCallout        = dlg.SelectedLogParameters.CalloutLevel;
                    editDlg.LogLevelCode           = dlg.SelectedLogParameters.CodeLevel;
                    editDlg.LogLevelDatabase       = dlg.SelectedLogParameters.DatabaseLevel;
                    editDlg.LogLevelProfiling      = dlg.SelectedLogParameters.ProfilingLevel;
                    editDlg.LogLevelSystem         = dlg.SelectedLogParameters.SystemLevel;
                    editDlg.LogLevelValidation     = dlg.SelectedLogParameters.ValidationLevel;
                    editDlg.LogLevelVisualForce    = dlg.SelectedLogParameters.VisualForceLevel;
                    editDlg.LogLevelWorkflow       = dlg.SelectedLogParameters.WorkflowLevel;

                    if (App.ShowDialog(editDlg))
                    {
                        using (App.Wait("Updating Log Listener"))
                        {
                            dlg.SelectedLogParameters.CalloutLevel     = editDlg.LogLevelCallout;
                            dlg.SelectedLogParameters.CodeLevel        = editDlg.LogLevelCode;
                            dlg.SelectedLogParameters.DatabaseLevel    = editDlg.LogLevelDatabase;
                            dlg.SelectedLogParameters.ProfilingLevel   = editDlg.LogLevelProfiling;
                            dlg.SelectedLogParameters.SystemLevel      = editDlg.LogLevelSystem;
                            dlg.SelectedLogParameters.ValidationLevel  = editDlg.LogLevelValidation;
                            dlg.SelectedLogParameters.VisualForceLevel = editDlg.LogLevelVisualForce;
                            dlg.SelectedLogParameters.WorkflowLevel    = editDlg.LogLevelWorkflow;

                            App.Instance.SalesForceApp.CurrentProject.Client.Diagnostic.UpdateLogListener(dlg.SelectedLogParameters);
                        }
                    }
                }
            }
            catch (Exception err)
            {
                App.HandleException(err);
            }
        }