protected override void Execute(CodeActivityContext context)
        {
            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);
                }
            }
        }
Exemple #2
0
 public void Execute(IServiceProvider serviceProvider)
 {
     using (var bag = new JonasPluginBag(serviceProvider))
     {
         var watch = Stopwatch.StartNew();
         try
         {
             Execute(bag);
         }
         catch (Exception e)
         {
             bag.TraceBlockStart(e.GetType().ToString());
             bag.trace(e.ToString());
             bag.TraceBlockEnd();
             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");
        }