public static ObservableCollection <CrmPluginTrace> CreateCrmPluginTraceView(EntityCollection pluginTraces) { ObservableCollection <CrmPluginTrace> crmPluginTraces = new ObservableCollection <CrmPluginTrace>(); if (pluginTraces == null) { return(crmPluginTraces); } foreach (Entity pluginTrace in pluginTraces.Entities) { CrmPluginTrace crmPluginTrace = new CrmPluginTrace { PluginTraceLogidId = pluginTrace.Id, Entity = pluginTrace.GetAttributeValue <string>("primaryentity"), CorrelationId = pluginTrace.GetAttributeValue <Guid>("correlationid").ToString(), CreatedOn = pluginTrace.GetAttributeValue <DateTime>("createdon").ToLocalTime(), CreatedOnUtc = pluginTrace.GetAttributeValue <DateTime>("createdon"), Depth = pluginTrace.GetAttributeValue <int>("depth"), ExecutionDurationMs = pluginTrace.GetAttributeValue <int>("performanceexecutionduration"), ExecutionDuration = DateFormatting.MsToReadableTime(pluginTrace.GetAttributeValue <int>("performanceexecutionduration")), MessageName = pluginTrace.GetAttributeValue <string>("messagename"), MessageBlock = pluginTrace.GetAttributeValue <string>("messageblock"), TypeName = pluginTrace.GetAttributeValue <string>("typename"), Mode = (pluginTrace.GetAttributeValue <OptionSetValue>("mode").Value == 0) ? "Synchronous" : "Asynchronous", ExceptionDetails = pluginTrace.GetAttributeValue <string>("exceptiondetails"), Details = CreateDetails(pluginTrace.GetAttributeValue <string>("messageblock"), pluginTrace.GetAttributeValue <string>("exceptiondetails")) }; crmPluginTraces.Add(crmPluginTrace); } return(crmPluginTraces); }
private static bool TypeNameCondition(CrmPluginTrace crmPluginTrace, ObservableCollection <FilterTypeName> filterTypeNames) { return(IsStringFilterValid(new ObservableCollection <IFilterProperty>(filterTypeNames), crmPluginTrace.TypeName)); }
private static bool EntityCondition(CrmPluginTrace crmPluginTrace, ObservableCollection <FilterEntity> filterEntities) { return(IsStringFilterValid(new ObservableCollection <IFilterProperty>(filterEntities), crmPluginTrace.Entity)); }