public static CommandRegistryItem Parse(dynamic request, string operationId, string partitionKey, CancellationToken token = default) { var item = new CommandRegistryItem { OperationId = $"{operationId}", PartitionKey = partitionKey, Request = JsonConvert.SerializeObject(request), Key = request.Key, SideEffects = string.Join(",", request.SideEffects), RequestDotNetType = request.GetType().AssemblyQualifiedName, CancellationToken = token, hasAllowAnonymousAttribute = Attribute.GetCustomAttribute(request.GetType(), typeof(AllowAnonymousAttribute)) != null }; return(item); }
public bool ConflictsWith(CommandRegistryItem request) => request.SideEffects.Split(',') .Intersect(SideEffects.Split(',')).Any() && !string.IsNullOrEmpty(SideEffects);