Example #1
0
        private void Publish_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                Overlay.ShowMessage(_dte, "Deploying...", vsStatusAnimation.vsStatusAnimationDeploy);

                if (CrmAssemblyList.SelectedIndex == -1)
                {
                    return;
                }

                var service = (IOrganizationService)ConnPane.CrmService.OrganizationServiceProxy;
                var ctx     = new OrganizationServiceContext(service);

                ProjectWorker.BuildProject(ConnPane.SelectedProject);

                using (ctx)
                {
                    PluginRegistraton pluginRegistraton = new PluginRegistraton(service, ctx, new TraceLogger());

                    string path = ProjectWorker.GetAssemblyPath(ConnPane.SelectedProject);

                    CrmAssembly assembly = (CrmAssembly)CrmAssemblyList.SelectedItem;
                    if (assembly.IsWorkflow)
                    {
                        pluginRegistraton.RegisterWorkflowActivities(path);
                    }
                    else
                    {
                        pluginRegistraton.RegisterPlugin(path);
                    }
                }
            }
            finally
            {
                Overlay.HideMessage(_dte, vsStatusAnimation.vsStatusAnimationDeploy);
            }
        }