protected override void Execute(CodeActivityContext context) { using (var bag = new JonasPluginBag(context)) { var watch = Stopwatch.StartNew(); try { Execute(bag); } catch (Exception e) { bag.trace("*** Exception ***\n{0}", e); throw; } finally { watch.Stop(); bag.trace("Internal execution time: {0} ms", watch.ElapsedMilliseconds); } } }
public void Execute(IServiceProvider serviceProvider) { using (var bag = new JonasPluginBag(serviceProvider)) { var watch = Stopwatch.StartNew(); try { bag.TracingService.TraceContext(bag.PluginContext, false, true, true, bag.Service); Execute(bag); } catch (Exception e) { bag.trace(e.ToString()); throw; } finally { watch.Stop(); bag.trace("Internal execution time: {0} ms", watch.ElapsedMilliseconds); } } }
public void Associate(string entityName, Guid entityId, Relationship relationship, EntityReferenceCollection relatedEntities) { bag.trace($"Associate({entityName}, {entityId}, {relationship.SchemaName}, {relatedEntities.Count})"); if (bag.TracingService.Verbose) { bag.trace("Associated record(s):{0}", relatedEntities.Select(r => $"\n {r.LogicalName} {r.Id} {r.Name}")); } var watch = Stopwatch.StartNew(); service.Associate(entityName, entityId, relationship, relatedEntities); watch.Stop(); bag.trace($"Associated in: {watch.ElapsedMilliseconds} ms"); }